1 #include "objson/object.h"
2 #include "opensrf/log.h"
4 // XXX replacing this with liboils_idl implementation
5 // #include "openils/fieldmapper_lookup.h"
7 #include "openils/idl_fieldmapper.h"
9 #include "oils_event.h"
10 #include "oils_constants.h"
11 #include "opensrf/osrf_app_session.h"
12 #include "opensrf/osrf_settings.h"
15 Loads the IDL. Returns NULL on failure
16 or a pointer to the IDL data structure on success.
17 @param idl_filename If not provided, we'll fetch the
18 filename from the settings server
20 osrfHash* oilsInitIDL( char* idl_filename );
23 Returns the string value for field 'field' in the given object.
24 This method calls jsonObjectToSimpleString so numbers will be
26 @param object The object to inspect
27 @param field The field whose value is requsted
28 @return The string at the given position, if none exists,
29 then NULL is returned. The caller must free the returned string
31 char* oilsFMGetString( jsonObject* object, char* field );
35 Returns the jsonObject found at the specified field in the
37 @param object The object to inspect
38 @param field The field whose value is requsted
39 @return The found object or NULL if none exists. Do NOT free the
42 jsonObject* oilsFMGetObject( jsonObject* object, char* field );
45 Sets the given field in the given object to the given string
46 @param object The object to update
47 @param field The field to change
48 @param string The new data
49 @return 0 if the field was updated successfully, -1 on error
51 int oilsFMSetString( jsonObject* object, char* field, char* string );
54 * Returns the data stored in the id field of the object if it exists
55 * returns -1 if the id field or the id value is not found
57 long oilsFMGetObjectId( jsonObject* obj );
61 * Checks if the user has each permission at the given org unit
62 * Passing in a -1 for the orgid means to use the top level org unit
63 * The first permission that fails causes the corresponding permission
64 * failure event to be returned
65 * returns NULL if all permissions succeed
67 oilsEvent* oilsUtilsCheckPerms( int userid, int orgid, char* permissions[], int size );
71 * Performs a single request and returns the resulting data
72 * Caller is responsible for freeing the returned response object
74 jsonObject* oilsUtilsQuickReq( char* service, char* method, jsonObject* params );
76 jsonObject* oilsUtilsStorageReq( char* method, jsonObject* params );
78 jsonObject* oilsUtilsCStoreReq( char* method, jsonObject* params );
81 * Searches the storage server for a user with the given username
82 * Caller is responsible for freeing the returned object
84 jsonObject* oilsUtilsFetchUserByUsername( char* name );
88 * Returns the setting value
89 * Caller must free the returned string
91 char* oilsUtilsFetchOrgSetting( int orgid, char* setting );
95 * Logs into the auth server with the given username and password
96 * @return The authtoken string which must be de-allocated by the caller
98 char* oilsUtilsLogin( char* uname, char* passwd, char* type, int orgId );
102 * Fetches the requested workstation object by id
104 jsonObject* oilsUtilsFetchWorkstation( long id );
106 jsonObject* oilsUtilsFetchUserByBarcode(char* barcode);
108 jsonObject* oilsUtilsFetchWorkstationByName( char* name );
111 int oilsUtilsIsDBTrue( char* val );