#include <stddef.h>#include "SoSharedLibDefs.h"| typedef ESerror_t(* SoCClient_f)(SoCClient_e eReason, SoServerInterface *pServer, SoHServer hServer) |
Your client function will be called to start and terminate your library
| eReason | init or terminate | |
| pServer | the server callback interface (to enable you to talk to ExtendScript) | |
| hServer | the server |
| typedef struct SoCClientName_s SoCClientName |
| typedef SoCClientName* SoCClientName_p |
| typedef long* SoHObject |
| typedef long* SoHServer |
This is the interface to enable C Clients to manage and use LiveObjects
Further information is available from TechNote: ES0018-CClientLibrary Blind pointers to C++ objects for use from C
| SoHServer | The Server object | |
| SoHObject | A LiveObject |
| typedef void(* SoMemoryFree_f)(void *) |
| typedef struct SoMemoryInterface_s SoMemoryInterface |
| typedef SoMemoryInterface* SoMemoryInterface_p |
| typedef void*(* SoMemoryMalloc_f)(size_t) |
Memory allocation and free functions
| SoMemoryMalloc_f | memory allocation | |
| SoMemoryFree_f | memory free |
| typedef ESerror_t(* SoObjectCall_f)(SoHObject hObject, SoCClientName *name, int argc, TaggedData *argv, TaggedData *pResult) |
| typedef ESerror_t(* SoObjectFinalize_f)(SoHObject hObject) |
| typedef ESerror_t(* SoObjectGet_f)(SoHObject hObject, SoCClientName *name, TaggedData *pValue) |
| typedef ESerror_t(* SoObjectInitialize_f)(SoHObject hObject, int argc, TaggedData *argv) |
Object callbacks. ES will call your functions when required by JavaScript
| SoObjectInitialize_f | JS: new MyObject(....) | |
| SoObjectGet_f | JS: myObject.property | |
| SoObjectPut_f | JS: myObject.property = value | |
| SoObjectCall_f | JS: myObject.method() | |
| SoObjectValueOf_f | JS: myObject.valueOf() | |
| SoObjectToString_f | JS: myObject.toString() | |
| SoObjectFinalize_f | -- object is being destroyed -- (eg lib.unload for ExternalLibrary) |
| typedef struct SoObjectInterface_s SoObjectInterface |
| typedef struct SoObjectInterface_s * SoObjectInterface_p |
| typedef ESerror_t(* SoObjectPut_f)(SoHObject hObject, SoCClientName *name, TaggedData *pValue) |
| typedef ESerror_t(* SoObjectToString_f)(SoHObject hObject, TaggedData *pResult) |
| typedef ESerror_t(* SoObjectValueOf_f)(SoHObject hObject, TaggedData *pResult) |
| typedef ESerror_t(* SoServerAddClass_f)(SoHServer hServer, char *name, SoObjectInterface_p objectInterface) |
| typedef ESerror_t(* SoServerAddMethod_f)(SoHObject hObject, const char *name, int id, char *desc) |
| typedef ESerror_t(* SoServerAddMethods_f)(SoHObject hObject, SoCClientName_p pNames) |
| typedef ESerror_t(* SoServerAddProperties_f)(SoHObject hObject, SoCClientName_p pNames) |
| typedef ESerror_t(* SoServerAddProperty_f)(SoHObject hObject, const char *name, int id, char *desc) |
| typedef ESerror_t(* SoServerCallLiveObject_f)(SoHServer hServer, SoHObject hObject, char *method, int argc, TaggedData *argv, TaggedData *pResult) |
| typedef ESerror_t(* SoServerDumpObject_f)(SoHObject hObject) |
| typedef ESerror_t(* SoServerDumpServer_f)(SoHServer hServer) |
| typedef ESerror_t(* SoServerEval_f)(SoHObject hServer, char *string, TaggedData *pTaggedData) |
| typedef void(* SoServerFree_f)(SoHObject hObject, void *pMem) |
| typedef ESerror_t(* SoServerGetClass_f)(SoHObject hObject, char *name, int name_l) |
| typedef ESerror_t(* SoServerGetClientData_f)(SoHObject hObject, void **ppClientData) |
| typedef ESerror_t(* SoServerGetLiveObject_f)(SoHServer hServer, SoHObject hObject, char *method, TaggedData *pResult) |
| typedef ESerror_t(* SoServerGetServer_f)(SoHObject hObject, SoHServer *phServer,SoServerInterface_p *ppServerInterface) |
| typedef struct SoServerInterface_s SoServerInterface |
| typedef SoServerInterface* SoServerInterface_p |
| typedef void*(* SoServerMalloc_f)(SoHServer hServer, size_t nBytes) |
| typedef ESerror_t(* SoServerPutLiveObject_f)(SoHServer hServer, SoHObject hObject, char *method, TaggedData *pValue) |
| typedef ESerror_t(* SoServerSetClientData_f)(SoHObject hObject, void *pClientData) |
| typedef ESerror_t(* SoServerTaggedDataFree_f)(SoHServer hServer, TaggedData *pTaggedData) |
| typedef ESerror_t(* SoServerTaggedDataInit_f)(SoHObject hServer, TaggedData *pTaggedData) |
| enum SoCClient_e |
| ESerror_t SoCClientInitialize | ( | SoCClient_f | , | |
| SoMemoryInterface_p | ||||
| ) |
SoCClientInitialize is used to initialize your library
| SoCClient_f | your client interface (objectInit, objectGet etc) | |
| SoMemoryInterface_f | your memory interface (malloc/free) |
| ESerror_t SoCClientTerminate | ( | SoCClient_f | ) |
SoCClientInitialize is used to terminate your library
| SoCClient_f | your client interface (objectInit, objectGet etc) |
| ESerror_t SoCClientTerminateAll | ( | ) |
SoCClientTerminateAll is used to close all client libraries
You MUST call this to terminate all ExternalObjects which created classes, before exiting the ExtendScript environment


Copyright© 2008 Adobe Systems Incorporated. All rights reserved.
Terms of Use Online Privacy Policy Adobe and accessibility Avoid software piracy Permissions and Trademarks