Include file (and API definition)

Previous: wftk core library ] [ Top:  ] [ Next: Internal definitions ]

Here's the wftk API. It'll grow but it's guaranteed never to shrink. To facilitate the creation of dynamically linked libraries, we define a WFTK_EXPORT declaration symbol; this should be defined on the compilation command line if we're building a DLL or .so. If not, it'll just be ignored.
 
#ifndef WFTK_H
#define WFTK_H
#include <stdio.h>
#include <string.h>
#include "xmlapi.h"

#ifndef WFTK_EXPORT
#define WFTK_EXPORT
#endif

WFTK_EXPORT XML  * wftk_info ();

WFTK_EXPORT void * wftk_session_alloc      ();
WFTK_EXPORT void   wftk_session_free       (void * session);
WFTK_EXPORT void   wftk_session_current    (void * session, XML * object);
WFTK_EXPORT void   wftk_session_configure  (void * session, XML * config);
WFTK_EXPORT void   wftk_session_setuser    (void * session, char * userid);
WFTK_EXPORT XML  * wftk_session_getuser    (void * session);
WFTK_EXPORT XML  * wftk_session_stashvalue (void * session, const char * value);
WFTK_EXPORT void   wftk_session_freevalue  (void * session, const char * value);
WFTK_EXPORT XML  * wftk_session_cache      (void * session, XML * key, int * found);
WFTK_EXPORT XML  * wftk_session_cachecheck (void * session, XML * key);

WFTK_EXPORT XML  * wftk_process_new     (void * session, const char * dsrep, const char * datasheet_id);
WFTK_EXPORT XML  * wftk_process_load    (void * session, const char * dsrep, const char * datasheet_id);
WFTK_EXPORT int    wftk_process_save    (void * session, XML * datasheet);
WFTK_EXPORT int    wftk_process_define  (void * session, XML * datasheet, const char * pdrep, const char * procdef_id);
WFTK_EXPORT int    wftk_process_archive (void * session, const char * dsrep, const char * datasheet_id, const char * archive);
WFTK_EXPORT int    wftk_process_delete  (void * session, const char * dsrep, const char * datasheet_id);
WFTK_EXPORT int    wftk_process_adhoc   (void * session, XML * datasheet, XML * arbitraryworkflow);

WFTK_EXPORT int    wftk_task_list      (void * session, XML * list);
WFTK_EXPORT int    wftk_task_new       (void * session, XML * task);
WFTK_EXPORT XML  * wftk_task_retrieve  (void * session, XML * task);
WFTK_EXPORT int    wftk_task_update    (void * session, XML * task);
WFTK_EXPORT int    wftk_task_complete  (void * session, XML * task);
WFTK_EXPORT int    wftk_task_reject    (void * session, XML * task);
WFTK_EXPORT int    wftk_task_rescind   (void * session, XML * task);
WFTK_EXPORT int    wftk_task_subproc   (void * session, XML * task, XML * subproc_datasheet);
WFTK_EXPORT int    wftk_task_attach    (void * session, XML * task, XML * datasheet);

WFTK_EXPORT int    wftk_request_list     (void * session, XML * list);
WFTK_EXPORT int    wftk_request_new      (void * session, XML * request);
WFTK_EXPORT XML  * wftk_request_retrieve (void * session, XML * request);
WFTK_EXPORT int    wftk_request_update   (void * session, XML * request);
WFTK_EXPORT int    wftk_request_rescind  (void * session, XML * request);
WFTK_EXPORT int    wftk_request_accept   (void * session, XML * request);
WFTK_EXPORT int    wftk_request_decline  (void * session, XML * request);

WFTK_EXPORT int    wftk_value_list      (void * session, XML * datasheet, XML * list);
WFTK_EXPORT XML  * wftk_value_find      (void * session, XML * datasheet, const char * name);
WFTK_EXPORT XML  * wftk_value_make      (void * session, XML * datasheet, const char * name);
WFTK_EXPORT int    wftk_value_isnull    (void * session, XML * datasheet, const char * name);
WFTK_EXPORT const char * wftk_value_get (void * session, XML * datasheet, const char * name);
WFTK_EXPORT int    wftk_value_get_num   (void * session, XML * datasheet, const char * name);
WFTK_EXPORT int    wftk_value_interpret (void * session, XML * datasheet, const char * spec, char * buffer, int bufsize);
WFTK_EXPORT char * wftk_value_interpreta (void *session, XML * datasheet, const char * spec);
WFTK_EXPORT int    wftk_value_makenull  (void * session, XML * datasheet, const char * name);
WFTK_EXPORT int    wftk_value_set       (void * session, XML * datasheet, const char * name, const char * value);
WFTK_EXPORT int    wftk_value_set_num   (void * session, XML * datasheet, const char * name, int value);
WFTK_EXPORT int    wftk_value_settype   (void * session, XML * datasheet, const char * name, const char * type);
WFTK_EXPORT int    wftk_value_define    (void * session, XML * datasheet, const char * name, const char * storage);
WFTK_EXPORT int    wftk_value_calc      (void * session, XML * datasheet, const char * name, const char * value);
WFTK_EXPORT XML  * wftk_value_html      (void * session, XML * datasheet, const char * name);
WFTK_EXPORT XML  * wftk_value_htmlblank (void * session, XML * datasheet, const char * name);
WFTK_EXPORT XML  * wftk_value_info      (void * session, XML * datasheet, const char * name);

WFTK_EXPORT const char * wftk_status_get (void * session, XML * datasheet);
WFTK_EXPORT int    wftk_status_set (void * session, XML * datasheet, const char *status);

WFTK_EXPORT int    wftk_role_list       (void * session, XML * datasheet, XML * list);
WFTK_EXPORT const char * wftk_role_user (void * session, XML * datasheet, const char * role);
WFTK_EXPORT int    wftk_role_assign     (void * session, XML * datasheet, const char * role, const char * userid);

WFTK_EXPORT int    wftk_user_list     (void * session, XML * datasheet, XML * list);
WFTK_EXPORT int    wftk_user_add      (void * session, XML * datasheet, XML * user);
WFTK_EXPORT XML  * wftk_user_retrieve (void * session, XML * datasheet, const char * userid);
WFTK_EXPORT int    wftk_user_update   (void * session, XML * datasheet, XML * user);
WFTK_EXPORT int    wftk_user_remove   (void * session, XML * datasheet, const char * userid);
WFTK_EXPORT int    wftk_user_synch    (void * session, XML * user);
WFTK_EXPORT int    wftk_user_auth     (void * session, XML * user, const char * password);

WFTK_EXPORT XML  * wftk_enactment       (void * session, XML * datasheet);
WFTK_EXPORT int    wftk_enactment_write (void * session, XML * datasheet, XML * xml, const char * attribute, const char * value);
WFTK_EXPORT int    wftk_log             (void * session, XML * datasheet, char * log);

WFTK_EXPORT int    wftk_action          (void * session, XML * action);

WFTK_EXPORT XML  * wftk_decide          (void * session, XML * datasheet, XML * decision);

WFTK_EXPORT int    wftk_notify (void * session, XML * context, XML * alert);
#endif
Previous: wftk core library ] [ Top:  ] [ Next: Internal definitions ]


This code and documentation are released under the terms of the GNU license. They are additionally copyright (c) 2000, Vivtek. All rights reserved except those explicitly granted under the terms of the GNU license.