home *** CD-ROM | disk | FTP | other *** search
- #ifndef _DTS_HH_INCLUDED_somobj
- #define _DTS_HH_INCLUDED_somobj
-
- /* Start Interface SOMObject */
-
- // This file was generated by the IBM "DirectToSOM" emitter for C++ (V1.116)
- // Generated at 02/22/96 12:05:56
- // The efw file is version 1.57
-
- #ifndef som3AssignCtrl
- #define som3AssignCtrl somAssignCtrl
- #endif
-
- #include <somh.hh>
-
- #pragma SOMAsDefault(on)
- class SOMClass;
- #pragma SOMAsDefault(pop)
- #pragma SOMAsDefault(on)
- class SOMObject;
- #pragma SOMAsDefault(pop)
- #ifndef _IDL_SEQUENCE_SOMObject_defined
- #define _IDL_SEQUENCE_SOMObject_defined
- #pragma SOMAsDefault(on)
- class SOMObject;
- #pragma SOMAsDefault(pop)
- typedef struct {
- unsigned long _maximum;
- unsigned long _length;
- SOMObject **_buffer;
- } _IDL_SEQUENCE_SOMObject;
- #endif // _IDL_SEQUENCE_SOMObject_defined
- #ifndef _IDL_SEQUENCE_octet_defined
- #define _IDL_SEQUENCE_octet_defined
- typedef struct {
- unsigned long _maximum;
- unsigned long _length;
- octet *_buffer;
- } _IDL_SEQUENCE_octet;
- #endif // _IDL_SEQUENCE_octet_defined
- #pragma SOMNonDTS(on)
- #pragma SOMAsDefault(on)
- class
- #if !(defined(SOM_SOMObject_Class_Source) || defined(SOM_DONT_IMPORT_CLASS_SOMObject))
- WIN32_DLLIMPORT
- #else
- WIN32_DLLEXPORT
- #endif
- SOMObject {
-
- // This is the SOM root class, all SOM classes must be descended from
- // <SOMObject>. <SOMObject> has no instance data so there is no
- // per-instance cost to to being descended from it.
- #pragma SOMClassName(*, "SOMObject")
- #pragma SOMNoMangling(*)
- #pragma SOMNonDTS(*)
-
- #pragma SOMClassVersion (SOMObject, 1, 4)
- #pragma SOMCallstyle (oidl)
- #pragma SOMAsDefault(off)
-
- public :
- typedef /* seq< 0> */ _IDL_SEQUENCE_SOMObject SOMObjectSequence;
- typedef /* seq< 0> */ _IDL_SEQUENCE_octet BooleanSequence;
- typedef struct somObjectOffset {
- ::SOMObject* obj;
- long offset;
- } somObjectOffset;
- #ifndef SOMObject__IDL_SEQUENCE_somObjectOffset_defined
- #define SOMObject__IDL_SEQUENCE_somObjectOffset_defined
- struct somObjectOffset;
- typedef struct {
- unsigned long _maximum;
- unsigned long _length;
- somObjectOffset *_buffer;
- } _IDL_SEQUENCE_somObjectOffset;
- #endif // SOMObject__IDL_SEQUENCE_somObjectOffset_defined
- typedef /* seq< 0> */ _IDL_SEQUENCE_somObjectOffset somObjectOffsets;
- #pragma SOMAsDefault(pop)
- SOMObject();
- SOMObject(SOMObject&);
- SOMObject(const SOMObject&);
- SOMObject(volatile SOMObject&);
- SOMObject(const volatile SOMObject&);
- virtual ~SOMObject();
- #ifdef __EXTENDED__SOM__ASSIGNMENTS__
- virtual SOMObject& somAssign(SOMObject&);
- virtual SOMObject& somAssign(const SOMObject&);
- virtual SOMObject& somAssign(volatile SOMObject&);
- virtual SOMObject& somAssign(const volatile SOMObject&);
- #else
- virtual SOMObject* somDefaultAssign(som3AssignCtrl*, SOMObject*);
- virtual SOMObject* somDefaultConstAssign(som3AssignCtrl*, const SOMObject*);
- virtual SOMObject* somDefaultVAssign(som3AssignCtrl*, volatile SOMObject*);
- virtual SOMObject* somDefaultConstVAssign(som3AssignCtrl*, const volatile SOMObject*);
- #endif
-
-
- // Obsolete but still supported. Override somDefaultInit instead of somInit.
- virtual void somInit();
-
- // Obsolete but still supported. Override somDestruct instead of somUninit.
- virtual void somUninit();
-
- // Obsolete but still supported. Use somDestruct with a nonzero
- // <doFree> instead.
- virtual void somFree();
-
- // Return the name of the receiver's class.
- virtual string somGetClassName();
-
- // Return the receiver's class.
- virtual ::SOMClass* somGetClass();
-
- // Returns 1 (true) if the receiver responds to methods
- // introduced by <aClassObj>, and 0 (false) otherwise.
- virtual boolean somIsA(::SOMClass* aClassObj);
-
- // Returns 1 (true) if the indicated method can be invoked
- // on the receiver and 0 (false) otherwise.
- virtual boolean somRespondsTo(::somId mId);
-
- // Returns 1 (true) if the receiver is an instance of
- // <aClassObj> and 0 (false) otherwise.
- virtual boolean somIsInstanceOf(::SOMClass* aClassObj);
-
- // Return the size of the receiver.
- virtual long somGetSize();
-
- // Uses <SOMOutCharRoutine> to write a detailed description of this object
- // and its current state.
- //
- // <level> indicates the nesting level for describing compound objects
- // it must be greater than or equal to zero. All lines in the
- // description will be preceeded by <2*level> spaces.
- //
- // This routine only actually writes the data that concerns the object
- // as a whole, such as class, and uses <somDumpSelfInt> to describe
- // the object's current state. This approach allows readable
- // descriptions of compound objects to be constructed.
- //
- // Generally it is not necessary to override this method, if it is
- // overriden it generally must be completely replaced.
- virtual void somDumpSelf(long level);
-
- // Uses <SOMOutCharRoutine> to write in the current state of this object.
- // Generally this method will need to be overridden. When overriding
- // it, begin by calling the parent class form of this method and then
- // write in a description of your class's instance data. This will
- // result in a description of all the object's instance data going
- // from its root ancestor class to its specific class.
- virtual void somDumpSelfInt(long level);
-
- // Uses <SOMOutCharRoutine> to write a brief string with identifying
- // information about this object. The default implementation just gives
- // the object's class name and its address in memory.
- // <self> is returned.
- virtual ::SOMObject* somPrintSelf();
-
- // This method provides a generic, class-specific dispatch mechanism.
- // It accepts as input <retValue> a pointer to the memory area to be
- // loaded with the result of dispatching the method indicated by
- // <methodId> using the arguments in <ap>. <ap> contains the object
- // on which the method is to be invoked as the first argument.
- virtual boolean somDispatch(::somToken* retValue, ::somId methodId,
- ::va_list ap);
-
- // Like somDispatch, but method resolution for static methods is done
- // according to the clsObj instance method table.
- virtual boolean somClassDispatch(::SOMClass* clsObj, ::somToken* retValue,
- ::somId methodId, ::va_list ap);
-
- // cast the receiving object to cls (which must be an ancestor of the
- // objects true class. Returns true on success.
- virtual boolean somCastObj(::SOMClass* cls);
-
- // reset an object to its true class. Returns true always.
- virtual boolean somResetObj();
- #pragma SOMReleaseOrder ( \
- "somInit", \
- "somUninit", \
- "somFree", \
- SOMObject(volatile SOMObject&), \
- "somGetClassName", \
- "somGetClass", \
- "somIsA", \
- "somRespondsTo", \
- "somIsInstanceOf", \
- "somGetSize", \
- "somDumpSelf", \
- "somDumpSelfInt", \
- "somPrintSelf", \
- SOMObject(const volatile SOMObject&), \
- *, \
- *, \
- *, \
- *, \
- "somDispatch", \
- "somClassDispatch", \
- "somCastObj", \
- "somResetObj", \
- SOMObject(), \
- SOMObject::~SOMObject(), \
- *, \
- *, \
- SOMObject(SOMObject&), \
- SOMObject(const SOMObject&), \
- "somDefaultAssign", \
- "somDefaultConstAssign", \
- "somDefaultVAssign", \
- "somDefaultConstVAssign")
- };
-
- #pragma SOMAsDefault(pop)
- #pragma SOMNonDTS(pop)
- /* End SOMObject */
- #endif /* _DTS_HH_INCLUDED_somobj */
-