FARGOS/VISTA Object Management Environment Core  ..
FARGOS/VISTA Object Management Environment Core Table of Contents
OMEobject Class Referenceabstract

Base class and abstract interface for an object within a FARGOS/VISTA Object Management Environment. More...

#include <OMEobject.h>

+ Inheritance diagram for OMEobject:

Public Member Functions

virtual bool isThread () const
 Returns a Boolean indicating if the object is representing a thread. More...
 
OME_FAST_CALL void getOIDdata (OMEoidID *idInfo) const
 
const OMEoidgetDefaultOID ()
 Returns read-only reference to object's default object Id. More...
 
OME_FAST_CALL void setMetaObject (const OMEoid *obj)
 Attach an meta object to the object. More...
 
virtual OME_FAST_CALL OMEthreadinvokeMethod (int *errRet, const OMEstring &methodName, const uint32_t hashIndx, const OMEoid &objRefData, const uint32_t argc, const OMEarray &argv, const uint32_t signature, const OMEtype *fromObject=nullptr, const OMEthread *fromThread=nullptr, const OMEoid *notify=nullptr, const int inheritanceLevel=-1, const int mustBeAtLevel=-1)=0
 Invoke method against an object. More...
 
OME_FAST_CALL OMEthreadinvokeMethodAndWaitForReply (int *errRet, const OMEstring &methodName, const uint32_t hashIndx, const OMEoid &objRefData, const uint32_t argc, const OMEarray &argv, const uint32_t signature, OMEthread *fromThread, const int inheritanceLevel=-1)
 Perform RPC-style method invocation against an object. More...
 
OME_FAST_CALL void addTickCount (const int64_t tickCount) const OME_ALWAYS_INLINE
 Add tick counts to per-object statistics. More...
 
OME_FAST_CALL int64_t getTickCount () const OME_ALWAYS_INLINE
 Return number of elapsed time in ticks spent executing object's methods. More...
 
OME_FAST_CALL uint32_t getSliceCount () const OME_ALWAYS_INLINE
 Return number of time slices allocated to object's methods. More...
 
OME_FAST_CALL uint32_t getInvocationCount () const OME_ALWAYS_INLINE
 Return number of methods invoked against object. More...
 
- Public Member Functions inherited from OMEreferenceCount
 OMEreferenceCount ()
 
virtual ~OMEreferenceCount ()
 
void addReadOnlyReference ()
 
int_fast32_t dropReference ()
 
virtual OMEreferenceCountdeepCopy () const
 
OMEreferenceCountgetUniqueReference ()
 
int_fast32_t totalReferences () const OME_ALWAYS_INLINE
 

Public Attributes

const OMEclassclassInfo
 Pointer to class description. More...
 
OMEoidmetaObject
 Pointer to meta-object. More...
 

Protected Member Functions

 OMEobject (OMEclass *classData)
 
virtual ~OMEobject ()
 
- Protected Member Functions inherited from OMEreferenceCount
void lockMe ()
 
void unlockMe ()
 

Protected Attributes

uint32_t totalInvocations
 
uint32_t instanceID
 
OMEentityIDentityID
 
OMEoidStorageInternaloidReferences
 
- Protected Attributes inherited from OMEreferenceCount
int32_t references
 
int32_t mutexID
 

Private Member Functions

OME_FAST_CALL void addOIDref (OMEoidStorageInternal *ref)
 
OME_FAST_CALL void removeOIDref (OMEoidStorageInternal *ref)
 

Private Attributes

OMEoiddefaultOID
 
uint64_t totalTicks
 
uint32_t totalSlices
 

Friends

class OMEoidStorageInternal
 

Detailed Description

Base class and abstract interface for an object within a FARGOS/VISTA Object Management Environment.

The fundamental base class for all entities hosted by a FARGOS/VISTA Object Management Environment.

Constructor & Destructor Documentation

◆ OMEobject()

◆ ~OMEobject()

Member Function Documentation

◆ addOIDref()

◆ addTickCount()

OME_FAST_CALL void OMEobject::addTickCount ( const int64_t  tickCount) const
inline

Add tick counts to per-object statistics.

References totalSlices, and totalTicks.

Referenced by OMEtickInterval::addIntervalCounts(), and OMEthreadNativeOIL2::executeSlice().

◆ getDefaultOID()

const OMEoid & OMEobject::getDefaultOID ( )

Returns read-only reference to object's default object Id.

References defaultOID, and OME_EXPECT_FALSE.

Referenced by OMEthread::outputOnStream().

◆ getInvocationCount()

OME_FAST_CALL uint32_t OMEobject::getInvocationCount ( ) const
inline

Return number of methods invoked against object.

References totalInvocations.

◆ getOIDdata()

◆ getSliceCount()

OME_FAST_CALL uint32_t OMEobject::getSliceCount ( ) const
inline

Return number of time slices allocated to object's methods.

References totalSlices.

◆ getTickCount()

OME_FAST_CALL int64_t OMEobject::getTickCount ( ) const
inline

Return number of elapsed time in ticks spent executing object's methods.

References totalTicks.

Referenced by OMEthread::invokeMethod().

◆ invokeMethod()

virtual OME_FAST_CALL OMEthread* OMEobject::invokeMethod ( int *  errRet,
const OMEstring methodName,
const uint32_t  hashIndx,
const OMEoid objRefData,
const uint32_t  argc,
const OMEarray argv,
const uint32_t  signature,
const OMEtype fromObject = nullptr,
const OMEthread fromThread = nullptr,
const OMEoid notify = nullptr,
const int  inheritanceLevel = -1,
const int  mustBeAtLevel = -1 
)
pure virtual

Invoke method against an object.

Implemented in OMEobjectInstance, and OMEthread.

Referenced by invokeMethodAndWaitForReply().

◆ invokeMethodAndWaitForReply()

OMEthread * OMEobject::invokeMethodAndWaitForReply ( int *  errRet,
const OMEstring methodName,
const uint32_t  hashIndx,
const OMEoid objRefData,
const uint32_t  argc,
const OMEarray argv,
const uint32_t  signature,
OMEthread fromThread,
const int  inheritanceLevel = -1 
)

Perform RPC-style method invocation against an object.

RPC-style method invocation.

References OMEthread::getReplyOID(), invokeMethod(), OME_EXPECT_TRUE, and OMEthread::suspendThread().

◆ isThread()

bool OMEobject::isThread ( ) const
inlinevirtual

Returns a Boolean indicating if the object is representing a thread.

Indicates if entity is an object or thread.

Return values
0indicates an object.
1indicates a thread.

Reimplemented in OMEthread.

◆ removeOIDref()

◆ setMetaObject()

OME_FAST_CALL void OMEobject::setMetaObject ( const OMEoid obj)
inline

Attach an meta object to the object.

References metaObject.

Friends And Related Function Documentation

◆ OMEoidStorageInternal

friend class OMEoidStorageInternal
friend

Referenced by OMEoid::OMEoid().

Member Data Documentation

◆ classInfo

◆ defaultOID

OMEoid* OMEobject::defaultOID
private

◆ entityID

OMEentityID* OMEobject::entityID
protected

◆ instanceID

◆ metaObject

OMEoid* OMEobject::metaObject

Pointer to meta-object.

Referenced by OMEobject(), setMetaObject(), and ~OMEobject().

◆ oidReferences

OMEoidStorageInternal* OMEobject::oidReferences
protected

◆ totalInvocations

uint32_t OMEobject::totalInvocations
mutableprotected

◆ totalSlices

uint32_t OMEobject::totalSlices
mutableprivate

◆ totalTicks

uint64_t OMEobject::totalTicks
mutableprivate

The documentation for this class was generated from the following files:
Generated: Tue Jul 28 2020 16:03:27
Support Information