|
Public Member Functions |
| RemoteDmiServer (IN(RServerImpl) server, IN(RProtocolImpl) protocol) |
void | startInFront () |
| run in this thread doesn't return until another thread call stopServer() or the remote requests to stop
|
void | startInBackground () |
void | shutdown () |
| only valid if running as server
|
void | shutdownRemote () |
| only valid if running as client
|
acdk::lang::Object | createRemoteObject (IN(RString) remoteClass, IN(RString) localInterface, const acdk::lang::dmi::ScriptVarArray &args) |
acdk::lang::Object | createRemoteObject (IN(RString) remoteClass, IN(RString) localInterface) |
acdk::lang::Object | createRemoteObject (IN(RString) remoteClass, IN(RString) localInterface, IN(acdk::lang::dmi::ScriptVar) sv0) |
acdk::lang::Object | createRemoteObject (IN(RString) remoteClass, IN(RString) localInterface, IN(acdk::lang::dmi::ScriptVar) sv0, IN(acdk::lang::dmi::ScriptVar) sv1) |
acdk::lang::Object | createRemoteObject (IN(RString) remoteClass, IN(RString) localInterface, IN(acdk::lang::dmi::ScriptVar) sv0, IN(acdk::lang::dmi::ScriptVar) sv1, IN(acdk::lang::dmi::ScriptVar) sv2) |
acdk::lang::Object | createRemote (IN(RString) remoteClass, IN(acdk::lang::dmi::RDmiObjectArray) rest) |
acdk::lang::Object | createRemoteAs (IN(RString) remoteClass, IN(RString) localInterface, IN(acdk::lang::dmi::RDmiObjectArray) rest) |
acdk::lang::dmi::ScriptVar | invokeStaticRemote (IN(RString) className, IN(RString) methodName, IN(acdk::lang::dmi::ScriptVarArray) rest, IN(RString) returnAsType=Nil, int returnAttr=0) |
acdk::lang::dmi::RDmiObject | invokeStaticRemote (IN(RString) className, IN(RString) methodName, IN(acdk::lang::dmi::RDmiObjectArray) rest) |
| for scripting
|
acdk::lang::dmi::RDmiObject | invokeStaticRemoteAs (IN(RString) className, IN(RString) methodName, IN(RString) returnAsType, int returnTypeFlags, IN(acdk::lang::dmi::RDmiObjectArray) rest) |
| for scripting
|
acdk::lang::dmi::ScriptVar | peekStatic (IN(RString) className, IN(RString) memberName, IN(RString) interfaceName=Nil, int flags=0) |
acdk::lang::dmi::RDmiObject | peekStaticRemote (IN(RString) className, IN(RString) memberName, IN(RString) interfaceName=Nil, int flags=0) |
| same as peekStatic, but used in scripting languages
|
virtual void | run () |
| overload this method to implement working code for this thread
|
void | readWrite (IN(RConnection) con, InvokeCmd initCmd=Unexpected) |
| will use to run readWrite cyclus
|
InvokeCmd | dispatch2Local (InvokeCmd cmd, IN(RRemoteArgArray) recvArgs, IN(RRemoteArgArray) sendArgs, IN(RConnection) con) |
| server receives message and translate it
|
InvokeCmd | dispatch2Remote (InvokeCmd cmd, IN(RRemoteArgArray) sendArgs, IN(RRemoteArgArray) recvArgs, IN(RConnection) con) |
| send a message and receive anwer
|
InvokeCmd | dispatchNewObject (IN(RRemoteArgArray) recvArgs, IN(RRemoteArgArray) sendArgs, IN(RConnection) con) |
InvokeCmd | dispatchInvoke (IN(RRemoteArgArray) recvArgs, IN(RRemoteArgArray) sendArgs, IN(RConnection) con) |
InvokeCmd | dispatchInvokeStatic (IN(RRemoteArgArray) recvArgs, IN(RRemoteArgArray) sendArgs, IN(RConnection) con) |
InvokeCmd | dispatchPeek (IN(RRemoteArgArray) recvArgs, IN(RRemoteArgArray) sendArgs, IN(RConnection) con) |
InvokeCmd | dispatchPoke (IN(RRemoteArgArray) recvArgs, IN(RRemoteArgArray) sendArgs, IN(RConnection) con) |
InvokeCmd | dispatchPeekStatic (IN(RRemoteArgArray) recvArgs, IN(RRemoteArgArray) sendArgs, IN(RConnection) con) |
InvokeCmd | dispatchPokeStatic (IN(RRemoteArgArray) recvArgs, IN(RRemoteArgArray) sendArgs, IN(RConnection) con) |
const acdk::lang::dmi::ClazzMethodInfo * | remoteStandardDispatch (IN(RRemoteArg) remoteThis, IN(acdk::lang::RString) fname, acdk::lang::dmi::ScriptVar &ret, acdk::lang::dmi::ScriptVarArray &args, acdk::lang::dmi::DmiClient &dc, IN(::acdk::lang::RStringArray) namedArgs, int flags, const acdk::lang::dmi::ClazzInfo *clazzinfo, const acdk::lang::dmi::ClazzMethodInfo *methinf, IN(RRemoteArg) remoteId, IN(RConnection) con) |
Public Attributes |
RServerImpl | _server |
RProtocolImpl | _protocol |
bool | _isServer |
bool | _shootDown |
Private Member Functions |
acdk::lang::dmi::ScriptVar | _remote2local (IN(RRemoteArg) ra, IN(RConnection) con) |
RRemoteArg | _local2remote (const acdk::lang::dmi::ScriptVar &ra, IN(RConnection) con) |
acdk::lang::Object | _resolveRemoteObject (IN(RRemoteArg) ra, IN(RConnection) con, bool forceLocal=false) |
RRemoteObjectId | _getLocalRemoteObjectId (IN(RRemoteArg) ra) |
| return a remote id, which is located on this process
|
RRemoteArg | _createRemoteReference (IN(acdk::lang::Object) obj, IN(RString) interfaceName, IN(RConnection) con) |
RRemoteArg | _localObject2remoteObject (const acdk::lang::dmi::ScriptVar &sv, IN(RConnection) con) |
void | _send (InvokeCmd sendCmd, IN(RRemoteArgArray) sendArgs, IN(RConnection) con) |
InvokeCmd | _receive (IN(RRemoteArgArray) recvArgs, IN(RConnection) con, InvokeCmd initCmd) |
| if initCmd != Unexpected read also cmd
|