EssListObjects() lists all objects of the specified types on the server or locally on the client.
ESS_FUNC_M EssListObjects (hCtx, ObjType, AppName, DbName, pCount, ppObjList);
ESS_HCTX_T | hCtx |
ESS_OBJTYPE_T | ObjType |
ESS_STR_T | AppName |
ESS_STR_T | DbName |
ESS_PUSHORT_T | pCount |
ESS_PPOBJINFO_T | ppObjList |
hCtx | Essbase API context handle. Can be local context handle returned by EssCreateLocalContext(). |
ObjType | Object type (may be multiple types OR'ed together). Refer to Bitmask Data Types for a list of possible values. |
AppName | Application name. |
DbName | databasename. If NULL, lists objects in the application subdirectory. |
pCount | Address of variable to receive the count of objects of the appropriate type(s). |
ppObjList | Address of pointer to receive allocated array of object info structures. |
If successful, returns a count of the number of objects of the appropriate type(s) in pCount, and an array of matching object structures in ppObjList.
This function requires no special privileges; note however that server objects will only be listed if the caller has the appropriate level of access to the application and/or database (depending on the object type).
ESS_FUNC_M ESS_ListObjects (ESS_HCTX_T hCtx, ESS_HINST_T hInst ) { ESS_FUNC_M sts = ESS_STS_NOERR; ESS_POBJINFO_T pObject, pNextObject = NULL; ESS_SHORT_T objType = 0; ESS_USHORT_T objCnt; ESS_USHORT_T objInd; ESS_STR_T AppName; ESS_STR_T DbName; Appname = "Sample"; DbName = "Basic"; objType = ESS_OBJTYPE_OUTLINE; sts = EssListObjects (hCtx, objType, AppName, DbName, &objCnt, &pObject); if (!sts) { if (objCnt && pObject) { pNextObject = pObject; for (objInd = 0; objInd < objCnt; objInd++) { if (pNextObject) { printf ("Name: %s \r\nUser: %s\r\nTime Stamp: %ld\r\n", pNextObject->Name, pNextObject->User, pNextObject->TimeStamp); pNextObject = pNextObject + 1; } } EssFree (hInst, pObject); } else printf ("\r\nObject List is Empty\r\n\r\n"); } return(sts); }