2005/5/9

     
 

class RemoteDmiServer

artefaktur
Modules   Namespace List   Class Hierarchy   Alphabetical List   Compound List   Namespace Members   Compound Members   Related Pages  

acdkx::rdmi::RemoteDmiServer Class Reference

#include <RemoteDmiServer.h>

Inheritance diagram for acdkx::rdmi::RemoteDmiServer:

acdk::lang::Thread acdk::lang::Object acdk::lang::Runnable acdk::lang::ObjectBase acdk::lang::dmi::StdDispatch List of all members.

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::ClazzMethodInforemoteStandardDispatch (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


Constructor & Destructor Documentation

acdkx::rdmi::RemoteDmiServer::RemoteDmiServer IN(RServerImpl server,
IN(RProtocolImpl protocol
[inline]
 


Member Function Documentation

RRemoteArg acdkx::rdmi::RemoteDmiServer::_createRemoteReference IN(acdk::lang::Object obj,
IN(RString interfaceName,
IN(RConnection con
[private]
 

RRemoteObjectId acdkx::rdmi::RemoteDmiServer::_getLocalRemoteObjectId IN(RRemoteArg ra  )  [private]
 

return a remote id, which is located on this process

RRemoteArg acdkx::rdmi::RemoteDmiServer::_local2remote const acdk::lang::dmi::ScriptVar ra,
IN(RConnection con
[private]
 

RRemoteArg acdkx::rdmi::RemoteDmiServer::_localObject2remoteObject const acdk::lang::dmi::ScriptVar sv,
IN(RConnection con
[private]
 

InvokeCmd acdkx::rdmi::RemoteDmiServer::_receive IN(RRemoteArgArray recvArgs,
IN(RConnection con,
InvokeCmd  initCmd
[private]
 

if initCmd != Unexpected read also cmd

acdk::lang::dmi::ScriptVar acdkx::rdmi::RemoteDmiServer::_remote2local IN(RRemoteArg ra,
IN(RConnection con
[private]
 

acdk::lang::Object acdkx::rdmi::RemoteDmiServer::_resolveRemoteObject IN(RRemoteArg ra,
IN(RConnection con,
bool  forceLocal = false
[private]
 

void acdkx::rdmi::RemoteDmiServer::_send InvokeCmd  sendCmd,
IN(RRemoteArgArray sendArgs,
IN(RConnection con
[private]
 

acdk::lang::Object acdkx::rdmi::RemoteDmiServer::createRemote IN(RString remoteClass,
IN(acdk::lang::dmi::RDmiObjectArray rest
[inline]
 

acdk::lang::Object acdkx::rdmi::RemoteDmiServer::createRemoteAs IN(RString remoteClass,
IN(RString localInterface,
IN(acdk::lang::dmi::RDmiObjectArray rest
[inline]
 

acdk::lang::Object acdkx::rdmi::RemoteDmiServer::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
[inline]
 

acdk::lang::Object acdkx::rdmi::RemoteDmiServer::createRemoteObject IN(RString remoteClass,
IN(RString localInterface,
IN(acdk::lang::dmi::ScriptVar sv0,
IN(acdk::lang::dmi::ScriptVar sv1
[inline]
 

acdk::lang::Object acdkx::rdmi::RemoteDmiServer::createRemoteObject IN(RString remoteClass,
IN(RString localInterface,
IN(acdk::lang::dmi::ScriptVar sv0
[inline]
 

acdk::lang::Object acdkx::rdmi::RemoteDmiServer::createRemoteObject IN(RString remoteClass,
IN(RString localInterface
[inline]
 

acdk::lang::Object acdkx::rdmi::RemoteDmiServer::createRemoteObject IN(RString remoteClass,
IN(RString localInterface,
const acdk::lang::dmi::ScriptVarArray args
 

InvokeCmd acdkx::rdmi::RemoteDmiServer::dispatch2Local InvokeCmd  cmd,
IN(RRemoteArgArray recvArgs,
IN(RRemoteArgArray sendArgs,
IN(RConnection con
 

server receives message and translate it

InvokeCmd acdkx::rdmi::RemoteDmiServer::dispatch2Remote InvokeCmd  cmd,
IN(RRemoteArgArray sendArgs,
IN(RRemoteArgArray recvArgs,
IN(RConnection con
 

send a message and receive anwer

InvokeCmd acdkx::rdmi::RemoteDmiServer::dispatchInvoke IN(RRemoteArgArray recvArgs,
IN(RRemoteArgArray sendArgs,
IN(RConnection con
 

InvokeCmd acdkx::rdmi::RemoteDmiServer::dispatchInvokeStatic IN(RRemoteArgArray recvArgs,
IN(RRemoteArgArray sendArgs,
IN(RConnection con
 

InvokeCmd acdkx::rdmi::RemoteDmiServer::dispatchNewObject IN(RRemoteArgArray recvArgs,
IN(RRemoteArgArray sendArgs,
IN(RConnection con
 

InvokeCmd acdkx::rdmi::RemoteDmiServer::dispatchPeek IN(RRemoteArgArray recvArgs,
IN(RRemoteArgArray sendArgs,
IN(RConnection con
 

InvokeCmd acdkx::rdmi::RemoteDmiServer::dispatchPeekStatic IN(RRemoteArgArray recvArgs,
IN(RRemoteArgArray sendArgs,
IN(RConnection con
 

InvokeCmd acdkx::rdmi::RemoteDmiServer::dispatchPoke IN(RRemoteArgArray recvArgs,
IN(RRemoteArgArray sendArgs,
IN(RConnection con
 

InvokeCmd acdkx::rdmi::RemoteDmiServer::dispatchPokeStatic IN(RRemoteArgArray recvArgs,
IN(RRemoteArgArray sendArgs,
IN(RConnection con
 

acdk::lang::dmi::RDmiObject acdkx::rdmi::RemoteDmiServer::invokeStaticRemote IN(RString className,
IN(RString methodName,
IN(acdk::lang::dmi::RDmiObjectArray rest
[inline]
 

for scripting

acdk::lang::dmi::ScriptVar acdkx::rdmi::RemoteDmiServer::invokeStaticRemote IN(RString className,
IN(RString methodName,
IN(acdk::lang::dmi::ScriptVarArray rest,
IN(RString returnAsType = Nil,
int  returnAttr = 0
 

acdk::lang::dmi::RDmiObject acdkx::rdmi::RemoteDmiServer::invokeStaticRemoteAs IN(RString className,
IN(RString methodName,
IN(RString returnAsType,
int  returnTypeFlags,
IN(acdk::lang::dmi::RDmiObjectArray rest
[inline]
 

for scripting

acdk::lang::dmi::ScriptVar acdkx::rdmi::RemoteDmiServer::peekStatic IN(RString className,
IN(RString memberName,
IN(RString interfaceName = Nil,
int  flags = 0
 

Parameters:
className server class
interfaceName class of type to transfer. May be Nil
flags acdk::lang::dmi::MiAiByval or acdk::lang::dmi::MiAiByref if flags = 0 selection will be done by type
memberName name of static member

acdk::lang::dmi::RDmiObject acdkx::rdmi::RemoteDmiServer::peekStaticRemote IN(RString className,
IN(RString memberName,
IN(RString interfaceName = Nil,
int  flags = 0
[inline]
 

same as peekStatic, but used in scripting languages

void acdkx::rdmi::RemoteDmiServer::readWrite IN(RConnection con,
InvokeCmd  initCmd = Unexpected
 

will use to run readWrite cyclus

const acdk::lang::dmi::ClazzMethodInfo* acdkx::rdmi::RemoteDmiServer::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
 

virtual void acdkx::rdmi::RemoteDmiServer::run  )  [virtual]
 

overload this method to implement working code for this thread

Reimplemented from acdk::lang::Thread.

void acdkx::rdmi::RemoteDmiServer::shutdown  ) 
 

only valid if running as server

void acdkx::rdmi::RemoteDmiServer::shutdownRemote  ) 
 

only valid if running as client

void acdkx::rdmi::RemoteDmiServer::startInBackground  ) 
 

void acdkx::rdmi::RemoteDmiServer::startInFront  ) 
 

run in this thread doesn't return until another thread call stopServer() or the remote requests to stop


Member Data Documentation

bool acdkx::rdmi::RemoteDmiServer::_isServer
 

RProtocolImpl acdkx::rdmi::RemoteDmiServer::_protocol
 

RServerImpl acdkx::rdmi::RemoteDmiServer::_server
 

bool acdkx::rdmi::RemoteDmiServer::_shootDown