/* ** (c) COPYRIGHT MIT 1996. ** Please first read the full copyright statement in the file COPYRIGH. */
#ifndef CSLAPP_H #define CSLAPP_H
#include "WWWCore.h" #include "CSLUtils.h"
/* typedef enum { CSApp_OK, CSCSApp_done, CSApp_memory, CSApp_file, CSApp_badHandle, CSApp_inconsistentParms, CSApp_badPassword, CSApp_internal, CSApp_allowed, CSApp_denied } CSApp_error; */
typedef enum { CSApp_neverCall = 0, CSApp_callOnBad = 1, CSApp_callOnGood = 2 } CSDisposition_criteria; typedef CSError_t (CSDisposition_callback)(HTRequest* pReq, CSLabel_t * pCSLabel, CSUser_t * pCSUser, CSError_t disposition, void * pVoid);CSApp.c maintains a list of LoadedUsers. More than one may be loaded at a time as different requests may be associated with different users.
extern CSUser_t * CSLoadedUser_load(char * url, char * relatedName); extern BOOL CSLoadedUser_add(CSUser_t * pCSUser, char * url); extern BOOL CSLoadedUser_remove(CSUser_t * pCSUser); extern BOOL CSLoadedUser_find(char * name); extern BOOL CSLoadedUser_deleteAll (void);CSLoadedUser_enum - used to iterate through the loaded users
typedef CSError_t (CSLoadedUserCallback)(CSUser_t * pCSUser, int index, void * pVoid); extern int CSLoadedUser_enum(CSLoadedUserCallback * pCallback, void * pVoid);
extern BOOL CSUserList_load(char * url, char * relatedName);
typedef CSError_t (CSUserListCallback)(char * username, char * url, int index, void * pVoid); extern int CSUserList_enum(CSUserListCallback * pCallback, void * pVoid);
extern BOOL CSApp_registerDefaultUserByName(char * user, char * password); extern CSUser_t * CSApp_registerUserByName(char * user, char * password); extern BOOL CSApp_setDefaultUser(CSUser_t * pCSUser); extern BOOL CSApp_checkUser(CSUser_t * pCSUser); extern BOOL CSApp_unregisterDefaultUser(void); extern BOOL CSApp_unregisterUser(CSUser_t * pCSUser);
CSApp_unregisterApp - unregister defaults and free associated memory
typedef int (CSApp_userCallback)(CSUser_t * pCSUser, void * pVoid); extern BOOL CSApp_registerApp(CSDisposition_callback * pCallback, CSDisposition_criteria criteria, CSApp_userCallback * pUserCallback, void * pVoid); extern BOOL CSApp_unregisterApp();
CSApp_UnregisterReq - free memory associated with call to CSApp_registerReq
extern BOOL CSApp_registerReq(HTRequest* pReq, CSUser_t * pCSUser, CSDisposition_callback callback, CSDisposition_criteria criteria, void * pVoid); extern BOOL CSApp_unregisterReq(HTRequest* pReq); extern HTRequest * CSApp_originalRequest(HTRequest* pReq);
extern BOOL CSApp_label(HTRequest * pReq, CSLabel_t * pCSLabel);CSApp_libraryVersion - get current version
CSParseMachRead, CSParseUser, CSParseLabel - HTConverters for parsing to these objects
CSLabel_output - spew canonical form of pCSLabel out to pStream
char * CSApp_libraryVersion(void); extern HTConverter CSParseMachRead; extern HTConverter CSParseUser; extern HTConverter CSParseLabel; extern int CSLabel_output(CSLabel_t * pCSLabel, HTStream * pStream);
#endif /* CSLAPP_H */End of Declaration