2005/5/9

     
 

RefHolder_h

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

RefHolder.h File Reference

#include <stddef.h>
#include sys.h
#include core_vector.h

Namespaces

namespace  acdk
namespace  acdk::lang
namespace  acdk::lang::dmi
namespace  acdk::lang::sys

Compounds

class  LockedProxy
 A Proxy for synchronized access to acdk::lang::Object. More...


Defines

#define implements   virtual public
 use implements to derived from interfaces or extending an interface

#define extends   public
 use extends to derived normal classes You MUST NOT use implements (virtual) in this case otherwise Memory-Management will not work

#define ACDK_DECL_CLASS(ClassName)
 Macro to declare a ACDK class It defines following types: - ClassName - RClassName - ClassNameArray - RClassNameArray.

#define ACDK_DECL_INTERFACE(InterfaceName)
 Macro to declare a ACDK interface It defines following types: - ClassName - RClassName - ClassNameArray - RClassNameArray.

#define ACDK_DECL_THROWABLE(ClassName, SuperName)
 Macro to declare a ACDK exception type.

#define ACDK_DECL_THROWABLE_FQ(ClassName, sns, SuperName)
 Macro to declare a ACDK exception type.

#define ACDK_DECL_CLASS_ARRAY(ClassName)
 Macro to declare a ACDK class Array.

#define ACDK_DECL_ARRAY(ClassName)   ACDK_DECL_CLASS_ARRAY(ClassName)
 alias to ACDK_DECL_CLASS_ARRAY

#define USING_CLASS(Namespace, ClassName)
 used to import the given ACDK-Class into current namespace imports following type names: - ClassName - RClassName - ClassNameArray - RClassNameArray

#define ACDK_DEF_ENUM(EnumName)
 use to define meta info for enumerations which are declared and used inside a executable or static library

#define ACDK_DEF_LIB_ENUM(export, EnumName)
 use to define meta info for enumerations which are declared and used inside shared library

#define ACDK_WITH_METAINFO(ClassName)
#define ACDK_WITH_MI_GCINFO
#define DECL_ACDK_DUMMYMETACLASS
#define DECL_ACDK_DEFAULT_METACLASS(Super)
#define ACDK_NO_METAINFO_HEADER
 include this token at top in an header, which doesn't contain any meta info related declarations The acdkmc doesn't try to parse the header any more.

#define ACDK_CLASS
 used to tag a class as a ACDK-class.

#define ACDK_INTERFACE
 used to tag a class as a ACDK-Interface.

#define ACDK_MUTABLE
 used to tag a field as not serializable, cloneable, etc You can also use the keyword mutable

#define transient
 used to tag a field as not serializable

#define foreign
 use to tag classes, methods or arguments as not compatible with ACDK.

#define final
 use to tag classes or methods not to generate dmi proxy for this class/method

#define ACDK_DECL_ENUM(EnumType)
 ACDK_DECL_ENUM is only used as hint for acdkmc to detect enumeration types, which are declared in another header.

#define ACDK_DECL_ENUM_FQ(NameSpace, EnumType)
 Same as ACDK_DECL_ENUM but allows to fully qualify the enumeration type.

#define overwrite   virtual
 methods, tagged as overwrite will generate DmiProxy methods, but no metainfo, because the metainfo from a base class can be used.

#define SR(Type, obj)   asStackRef<R##Type, Type>(obj)
 SR(Type, object) is just a more brief macro for the template: template <class RT, class T> RT asStackRef(const T& obj).

#define SR_FQ(ns, Type, obj)   asStackRef<ns R##Type, ns Type>(obj)
 fully qualified version of macro SR(Type, obj)

#define IN(type)   const type &
 Tag an argument for sending the acdk::lang::Object by Reference from Client to Server.

#define INP(type)   const type &
 Same as macro IN(type).

#define OUT(type)   type&
 Tag an argument as output parameter .

#define OUTP(type)   type&
 Same as macro OUT(type).

#define INOUT(type)   type&
 Tag an argument for send/receive it.

#define INOUTP(type)   type&
 Same as INOUT(type).

#define RETOUT(val)   OUT(val)
 Used for performance improvemnts for return values.

#define OUTRET(val)   OUT(val)
 Alias to RETOUT(val).

#define BYVAL(T)   IN(T)
 Transfer parameter by value from caller to callee.

#define BYVALIN(T)   IN(T)
 Transfer parameter by value from caller to callee.

#define BYVALOUT(T)   OUT(T)
 Transfer parameter by value from calee to caller.

#define BYVALINOUT(T)   INOUT(T)
 Transfer parameter by value from caller to callee and back.

#define BYREF(T)   IN(T)
 Transfer parameter by reference from caller to callee.

#define BYREFIN(T)   IN(T)
 Transfer parameter by reference from caller to callee.

#define BYREFOUT(T)   OUT(T)
 Transfer parameter by reference from callee to caller.

#define BYREFINOUT(T)   INOUT(T)
 Transfer parameter by reference from caller to callee and back.


Typedefs

typedef acdk::lang::sys::core_vector<
acdk::lang::Object * > 
FieldReferences
 container to collect references of fields


Enumerations

enum  NilRef { Nil = 0 }
 Represents a 'null' Reference (equivalent to a null pointer). More...


Functions

ACDK_CORE_PUBLIC void badCast (const::acdk::lang::dmi::ClazzInfo *clazz,::acdk::lang::ObjectBase *iface)
 Helper method to throw a cast exception
Exceptions:
ClassCastException. 



ACDK_CORE_PUBLIC void badBasicArrayCast (const::acdk::lang::dmi::ClazzInfo *clazz,::acdk::lang::ObjectBase *iface)
 Helper method to throw a cast exception
Exceptions:
ClassCastException. 



ACDK_CORE_PUBLIC void badObjectArrayCast (const::acdk::lang::dmi::ClazzInfo *clazz,::acdk::lang::ObjectBase *iface)
 Helper method to throw a cast exception
Exceptions:
ClassCastException. 



template<class RT, class T> RT asStackRef (const T &obj)
 Convert acdk::lang::Object allocated on Stack or static into a RefHolder.


Define Documentation

#define ACDK_WITH_METAINFO ClassName   ) 
 

#define ACDK_WITH_MI_GCINFO
 

#define DECL_ACDK_DEFAULT_METACLASS Super   ) 
 

#define DECL_ACDK_DUMMYMETACLASS
 


Typedef Documentation

typedef acdk::lang::sys::core_vector<acdk::lang::Object*> FieldReferences
 

container to collect references of fields


Function Documentation

ACDK_CORE_PUBLIC void badBasicArrayCast const::acdk::lang::dmi::ClazzInfo *  clazz,
::acdk::lang::ObjectBase iface
 

Helper method to throw a cast exception

Exceptions:
ClassCastException. 

Parameters:
clazz target type
iface source type

ACDK_CORE_PUBLIC void badCast const::acdk::lang::dmi::ClazzInfo *  clazz,
::acdk::lang::ObjectBase iface
 

Helper method to throw a cast exception

Exceptions:
ClassCastException. 

Parameters:
clazz target type
iface source type

ACDK_CORE_PUBLIC void badObjectArrayCast const::acdk::lang::dmi::ClazzInfo *  clazz,
::acdk::lang::ObjectBase iface
 

Helper method to throw a cast exception

Exceptions:
ClassCastException. 

Parameters:
clazz target type
iface source type