2005/5/9

     
 

class DmiClient

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

acdk::lang::dmi::DmiClient Class Reference

#include <DmiClient.h>

Inheritance diagram for acdk::lang::dmi::DmiClient:

acdk::lang::dmi::AcdkDmiClient acdk::lang::dmi::AcdkStdWeakTypeDmiClient acdk::lisp::LispDmiClient acdkx::com::ComDmiClient List of all members.

Detailed Description

DmiClient is an Interface implemented by Clients using the DMI interfaces, like Scripting engines and COM/CORBA middleware.

Author:
Roger Rene Kommer (kommer@artefaktur.com)
Version:
Revision
1.18
Date:
Date
2005/04/18 14:53:16


Public Member Functions

 DmiClient (int formatFlags=TpFtAcdkType|TpFtFqName)
virtual ~DmiClient ()
virtual int typeDistance (const ScriptVar &arg, const ClazzInfo *toType)=0
 this method now returns the difference beetween the types.

virtual int typeDistance (const ClazzInfo *fromType, const ClazzInfo *toType)=0
virtual void castTo (ScriptVar &value, const::acdk::lang::dmi::ClazzInfo *toType)=0
 After checked with typeDistance() use this method to do the cast.

virtual int getScriptVarCastFlags () const=0
 return the standard casting flags as a combination of ScriptVarCastFlags

virtual bool provideMethodClazzInfo ()
 return true if this object/class has ClazzInfo structures for static dispatching.


Static Public Member Functions

int getCurInvokeFlags ()
 return a thread local copy of the current invokation flags

void setCurInvokeFlags (int flags)

Public Attributes

LookupMethodFnc _lookupFunc
int _formatFlags
 Format to use in case of DmiExceptions.


Private Member Functions

 DmiClient (const DmiClient &other)


Constructor & Destructor Documentation

acdk::lang::dmi::DmiClient::DmiClient const DmiClient other  )  [inline, private]
 

acdk::lang::dmi::DmiClient::DmiClient int  formatFlags = TpFtAcdkType|TpFtFqName  ) 
 

virtual acdk::lang::dmi::DmiClient::~DmiClient  )  [inline, virtual]
 


Member Function Documentation

virtual void acdk::lang::dmi::DmiClient::castTo ScriptVar value,
const::acdk::lang::dmi::ClazzInfo *  toType
[pure virtual]
 

After checked with typeDistance() use this method to do the cast.

This method may changes the type of value.

Parameters:
value the value to cast. On succes the type value may be changed by this method
type information of the target type, implemented by the target member/method argument

Implemented in acdk::lang::dmi::AcdkDmiClient, and acdk::lang::dmi::AcdkStdWeakTypeDmiClient.

int acdk::lang::dmi::DmiClient::getCurInvokeFlags  )  [static]
 

return a thread local copy of the current invokation flags

See also:
acdk::lang::dmi::ClazzInvokeInfo

virtual int acdk::lang::dmi::DmiClient::getScriptVarCastFlags  )  const [pure virtual]
 

return the standard casting flags as a combination of ScriptVarCastFlags

See also:
ScriptVarCastFlags

Implemented in acdk::lang::dmi::AcdkDmiClient, and acdk::lang::dmi::AcdkStdWeakTypeDmiClient.

virtual bool acdk::lang::dmi::DmiClient::provideMethodClazzInfo  )  [inline, virtual]
 

return true if this object/class has ClazzInfo structures for static dispatching.

true for standard ACDK objects, AAL. false for scripting clients, where matching arguments only can checked at invokation time.

void acdk::lang::dmi::DmiClient::setCurInvokeFlags int  flags  )  [static]
 

virtual int acdk::lang::dmi::DmiClient::typeDistance const ClazzInfo fromType,
const ClazzInfo toType
[pure virtual]
 

See also:
int typeDistance(const ScriptVar& arg, const ClazzInfo* toType);

Implemented in acdk::lang::dmi::AcdkDmiClient, and acdk::lang::dmi::AcdkStdWeakTypeDmiClient.

virtual int acdk::lang::dmi::DmiClient::typeDistance const ScriptVar arg,
const ClazzInfo toType
[pure virtual]
 

this method now returns the difference beetween the types.

0 for an exact match, -1 for incompatible types, various differences from 1 to 7 for compatible upcasts, from 257 to 263 for maybe compatible downcasts. > 300 for intepreted casts ( read int out of string convert to string)

Implemented in acdk::lang::dmi::AcdkDmiClient, and acdk::lang::dmi::AcdkStdWeakTypeDmiClient.


Member Data Documentation

int acdk::lang::dmi::DmiClient::_formatFlags
 

Format to use in case of DmiExceptions.

LookupMethodFnc acdk::lang::dmi::DmiClient::_lookupFunc