1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- /** @file */
- // -------------------------------------------------------------------------
- // error codes for handle processing
- // defined in C++
- enum EJsonApiError
- {
- ETJSON_UNKNOWN, // invalid code
- ETJSON_OK, // all fine
- ETJSON_COMMSEND, // error during send
- ETJSON_COMMRECV, // error during receive
- ETJSON_PARSERERROR, // error during parsing
- ETJSON_PACKNOSTART, // error - cannot start packing (invalid state)
- ETJSON_TIMEOUT, // failed to send/ store handle due to timeout
- ETJSON_NOBUFFERS, // not enough buffers available
- ETJSON_FAILFILELOAD, // failed to load file
- ETJSON_FAILFILESAVE, // failed to save file
- ETJSON_NOTARRAY, // object is not array (ie. attempt to provide different or none object as array)
- };
- // -------------------------------------------------------------------------
- // JsonApi Handle is container encapsulating real JSON data being sent or recieved via. RESTful/ other service
- class JsonApiHandle
- {
- private void JsonApiHandle() {}
- private void ~JsonApiHandle() {}
-
- /**
- \brief Length of JSON
- */
- proto native int Size();
- /**
- \brief Return as string
- */
- proto native owned string AsString();
- /**
- \brief Invalidate handle and schedule removal
- */
- proto native void Invalidate();
- };
- // -------------------------------------------------------------------------
- // parent class for handling JsonApi Struct objects
- //
- //
- class JsonApi
- {
- private void JsonApi() {}
- private void ~JsonApi() {}
- /**
- \brief Override number of concurrent buffers used (depending project requirements, DEFAULT = 16, MIN = 4)
- */
- proto native void SetBuffers( int iBufferCount );
- /**
- \brief Actual number of total buffers active + free
- */
- proto native int BufferCount();
- /**
- \brief Maximum number of buffers used at once!
- */
- proto native int BufferMax();
- /**
- \brief List of all currently active handles
- */
- proto native void DebugList();
- };
- // -------------------------------------------------------------------------
- // JsonApi access methods
- proto native JsonApi CreateJsonApi();
- proto native void DestroyJsonApi();
- proto native JsonApi GetJsonApi();
|