FARGOS/VISTA Object Management Environment Core
..
|
Base class and abstract interface for an object within a FARGOS/VISTA Object Management Environment. More...
#include <OMEobject.h>
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 OMEoid & | getDefaultOID () |
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 OMEthread * | 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)=0 |
Invoke method against an object. More... | |
OME_FAST_CALL OMEthread * | 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. 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... | |
![]() | |
OMEreferenceCount () | |
virtual | ~OMEreferenceCount () |
void | addReadOnlyReference () |
int_fast32_t | dropReference () |
virtual OMEreferenceCount * | deepCopy () const |
OMEreferenceCount * | getUniqueReference () |
int_fast32_t | totalReferences () const OME_ALWAYS_INLINE |
Public Attributes | |
const OMEclass * | classInfo |
Pointer to class description. More... | |
OMEoid * | metaObject |
Pointer to meta-object. More... | |
Protected Member Functions | |
OMEobject (OMEclass *classData) | |
virtual | ~OMEobject () |
![]() | |
void | lockMe () |
void | unlockMe () |
Protected Attributes | |
uint32_t | totalInvocations |
uint32_t | instanceID |
OMEentityID * | entityID |
OMEoidStorageInternal * | oidReferences |
![]() | |
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 | |
OMEoid * | defaultOID |
uint64_t | totalTicks |
uint32_t | totalSlices |
Friends | |
class | OMEoidStorageInternal |
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.
|
explicitprotected |
|
protectedvirtual |
References defaultOID, entityID, getOIDdata(), OMEthisProcessInfo::id, LOG_CERR, LOG_ENDLINE, metaObject, OMEoidStorageInternal::nextRefToSameObject, OMEoidStorageInternal::noteReferencedObjectDeleted(), oidReferences, OME_CRITICAL_SECTION_OID_REFERENCE, OME_DELETE_OBJECT, OME_EXPECT_FALSE, OME_EXPECT_TRUE, OMEcurrentProcessInfo, OMEendCriticalSection(), and OMEstartCriticalSection().
|
private |
|
inline |
Add tick counts to per-object statistics.
References totalSlices, and totalTicks.
Referenced by OMEtickInterval::addIntervalCounts(), and OMEthreadNativeOIL2::executeSlice().
const OMEoid & OMEobject::getDefaultOID | ( | ) |
Returns read-only reference to object's default object Id.
References defaultOID, and OME_EXPECT_FALSE.
Referenced by OMEthread::outputOnStream().
|
inline |
Return number of methods invoked against object.
References totalInvocations.
void OMEobject::getOIDdata | ( | OMEoidID * | idInfo | ) | const |
References OMEoidID::birthplace, OMEoidID::classHashIndex, classInfo, OMEoidID::classVersionID, entityID, OMEclass::hashIndex, instanceID, OMEoidID::instanceIndex, and OMEclass::versionID.
Referenced by ~OMEobject(), and OMEthread::~OMEthread().
|
inline |
Return number of time slices allocated to object's methods.
References totalSlices.
|
inline |
Return number of elapsed time in ticks spent executing object's methods.
References totalTicks.
Referenced by OMEthread::invokeMethod().
|
pure virtual |
Invoke method against an object.
Implemented in OMEobjectInstance, and OMEthread.
Referenced by 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().
|
inlinevirtual |
Returns a Boolean indicating if the object is representing a thread.
Indicates if entity is an object or thread.
0 | indicates an object. |
1 | indicates a thread. |
Reimplemented in OMEthread.
|
private |
|
inline |
Attach an meta object to the object.
References metaObject.
|
friend |
Referenced by OMEoid::OMEoid().
const OMEclass* OMEobject::classInfo |
Pointer to class description.
Referenced by OMEobjectInstance::allowMethod(), OMEthread::callMethodWithSetArgument(), OMEobjectInstance::createObject(), OMEobjectInstance::deleteThisObject(), OMEobjectInstance::findRoutine(), OMEthread::getInstanceData(), getOIDdata(), OMEobjectInstance::importObject(), OMEthread::invokeMethod(), OMEobjectInstance::invokeMethod(), OMEobjectInstance::noteThreadTerminated(), and OMEobject().
|
private |
Referenced by getDefaultOID(), OMEobject(), and ~OMEobject().
|
protected |
Referenced by getOIDdata(), OMEobjectInstance::importObject(), OMEobject(), and ~OMEobject().
|
protected |
OMEoid* OMEobject::metaObject |
Pointer to meta-object.
Referenced by OMEobject(), setMetaObject(), and ~OMEobject().
|
protected |
Referenced by addOIDref(), OMEobject(), removeOIDref(), and ~OMEobject().
|
mutableprotected |
Referenced by getInvocationCount(), OMEthread::invokeMethod(), OMEobjectInstance::invokeMethod(), and OMEobject().
|
mutableprivate |
Referenced by addTickCount(), getSliceCount(), and OMEobject().
|
mutableprivate |
Referenced by addTickCount(), getTickCount(), and OMEobject().
![]() | Generated: Fri Jul 31 2020 18:19:16
Support Information |