#include <zeusbase/System/Thread.h>
#include <zeusbase/System/ZVariant.h>
#include <zeusbase/System/ByteArray.hpp>
#include <zeusbase/Net/ServerSocket.h>
#include <zeusbase/Remote/RemoteDefines.hpp>
#include <zeusbase/Remote/RemoteMethodCall.h>
#include <zeusbase/Remote/RemoteReference.h>
#include <zeusbase/Remote/Interfaces/IRemoteObject.hpp>
Go to the source code of this file.
Define Documentation
| #define SKEL_DECL |
( |
|
classid, |
|
|
|
objectid |
|
) |
| |
Value:class classid : public TAbstractSkel \
{ \
public : \
classid(objectid& rInstance)\
: TAbstractSkel(), \
m_rInstance(rInstance)\
{ \
} \
\
protected: \
virtual ~classid() \
{ \
} \
virtual Retval dispatchCommand(const IRemoteMethodCall& rMethod, IRemoteMethodCall*& rMethodreturn); \
\
private: \
objectid& m_rInstance; \
}; \
Declaration of the skeleton class. The skeleton class inherits the abstract skeleton
- Parameters:
-
| classid | : ID of the class (Normally [Class]_Skel ) |
| objectid | : ID of the wrapped class (Servant) |
| #define SKEL_DISP_SWITCH |
( |
|
__name ) |
|
Value:if (strMethodName == __name) \
{
This selects the correct code for extracting the remote method call according to the name of the method. The name must be given as a string value.
- Parameters:
-
| __name | : Name of the method (string) |
| #define SKEL_DISP_SWITCH_END } |
Ends a code of a specific method
| #define SKEL_DISPATCH_END |
Value:while(lstParams.getCount() > 0) \
{ \
lstParams[0]->release(); \
lstParams.deleteItem(0); \
} \
rpMethodreturn = pReturnCall; \
rpMethodreturn->setReturnValue(*pVarRetval); \
pVarRetval->release(); \
return retValue; \
}
Ends the dispatching method of the skeleton.
| #define SKEL_DISPATCH_START |
( |
|
classid ) |
|
Value:Retval classid::dispatchCommand(const IRemoteMethodCall& rMethod, IRemoteMethodCall*& rpMethodreturn) \
{ \
Retval retValue = RET_NOERROR; \
\
TSingleLinkedList<IZUnknown*> lstParams; \
TString strMethodName; \
TRemoteMethodCall* pReturnCall = new TRemoteMethodCall(strMethodName); \
TZVariant* pVarRetval = new TZVariant(); \
rMethod.getMethodName(strMethodName);
Starts the dispatching method of the skeleton class
- Parameters:
-
| #define SKEL_READ_PARAM |
( |
|
__name, |
|
|
|
__param |
|
) |
| |
Value:TString strParam##__param = __name; \
if (rMethod.getParameterByName(strParam##__param, __param) ==RET_NOERROR) \
{ \
lstParams.add(__param); \
} \
else \
{ \
retValue = RET_REQUEST_FAILED; \
} \
Reads a parameter out of the remote method call. This parameter is a variant type. The value inside must be extracted manually and given to the real method.
- Parameters:
-
| __name | : Name of the parameter as string |
| __param | : Parameter signature
IZVariant* pVarString = NULL;
SKEL_READ_PARAM("text", pVarString);
if (pVarString != NULL)
{
pVarString->getString(&strText);
retValue = m_pInstance->getText(&strText);
}
|
| #define SKEL_READ_PARAM_REMOTEREF |
( |
|
__name, |
|
|
|
__param |
|
) |
| |
Value:This macro reads a remote refefence out of the remote method call. The use of this macro is the same as shown in SKEL_READ_PARAM
- Parameters:
-
| __name | : Name of the parameter as string |
| __param | : Parameter signature |
| #define SKEL_REMOTEREF |
( |
|
__param ) |
pRemote##__param |
Generates the name of the remote reference parameter
- Parameters:
-
| __param | : Parameter name of the method |
| #define SKEL_REMOTEREF_CHECK |
( |
|
__param ) |
(SKEL_REMOTEREF(__param) != NULL) |
Helper macro. Dont use directly