home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 10 Tools
/
10-Tools.zip
/
warptlk3.zip
/
TOOLKIT
/
SOM
/
INCLUDE
/
REPOSTRY.XH
< prev
next >
Wrap
Text File
|
1995-08-30
|
20KB
|
756 lines
/*
* This file was generated by the SOM Compiler.
* FileName: repostry.xh.
* Generated using:
* SOM Precompiler somipc: 2.29.1.2
* SOM Emitter emitxh: 2.41
*/
/*
*
* COMPONENT_NAME: somi
*
* ORIGINS: 27
*
*
* 10H9767, 10H9769 (C) COPYRIGHT International Business Machines Corp. 1992,1994
* All Rights Reserved
* Licensed Materials - Property of IBM
* US Government Users Restricted Rights - Use, duplication or
* disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
*
* Repository: CORBA Interface for access to repository objects
* See CORBA 7.5.2, pp.132-133
*/
#ifndef SOM_Repository_xh
#define SOM_Repository_xh
class Repository;
#define Repository_MajorVersion 2
#define Repository_MinorVersion 1
/*
* Passthru lines: File: "C.xh", "before"
*/
#include <stdio.h>
#include <somtcnst.xh>
#include <somir.xh>
#include <containd.xh>
/* C++ SOM defs */
#include <somcls.xh>
#include <somcm.xh>
/* C++ parent defs */
#ifndef SOM_Container_xh
#include <containr.xh>
#endif
#ifndef Repository_API
#define Repository_API
/*
* -- The Class API
*/
/*
* Start of user-defined types:
*/
class SOMClass;
class SOMObject;
class Contained;
typedef
struct Repository_RepositoryDescription {
Identifier name;
string id;
string defined_in;
} Repository_RepositoryDescription;
/*
* The inherited describe_contents method returns an instance
* of this (RepositoryDescription) structure in the value
* member of the Description structure defined in the Container
* interface.
*/
typedef unsigned long Repository_irOpenErrorCodes;
#define Repository_NOACCESS 1UL
#define Repository_BADMAGICNUMBER 2UL
#define Repository_MISSINGVERSIONINFO 3UL
#define Repository_IOERROR 4UL
#define Repository_VERSIONMISMATCH 5UL
#define ex_Repository_irOpenError "::Repository::irOpenError"
typedef
struct Repository_irOpenError {
Repository_irOpenErrorCodes errorCode;
string fileName;
} Repository_irOpenError;
/*
* The irOpenError and associated irOpenErrorCodes are a
* SOM-unique extension to the Interface Repository. These
* errors may be raised by the somNew when instantiating the
* Repository object and can be found in the SOM global
* Environment.
*/
#ifndef SOM_DONT_USE_SHORT_NAMES
#ifndef SOMTGD_RepositoryDescription
#ifdef RepositoryDescription
#undef RepositoryDescription
#define SOMTGD_RepositoryDescription 1
#else
#define RepositoryDescription Repository_RepositoryDescription
#endif /* RepositoryDescription */
#endif /* SOMTGD_RepositoryDescription */
#ifndef SOMTGD_irOpenErrorCodes
#ifdef irOpenErrorCodes
#undef irOpenErrorCodes
#define SOMTGD_irOpenErrorCodes 1
#else
#define irOpenErrorCodes Repository_irOpenErrorCodes
#endif /* irOpenErrorCodes */
#endif /* SOMTGD_irOpenErrorCodes */
#ifndef SOMTGD_ex_irOpenError
#ifdef ex_irOpenError
#undef ex_irOpenError
#define SOMTGD_ex_irOpenError 1
#else
#define ex_irOpenError ex_Repository_irOpenError
#endif /* ex_irOpenError */
#endif /* SOMTGD_ex_irOpenError */
#ifndef SOMTGD_irOpenError
#ifdef irOpenError
#undef irOpenError
#define SOMTGD_irOpenError 1
#else
#define irOpenError Repository_irOpenError
#endif /* irOpenError */
#endif /* SOMTGD_irOpenError */
#endif /* SOM_DONT_USE_SHORT_NAMES */
/*
* End of user-defined types.
*/
/* A procedure to create the Repository Class */
SOMEXTERN SOMClass * SOMLINK RepositoryNewClass(
integer4 majorVersion,
integer4 minorVersion);
/* The API to the Repository class object, and the methods it introduces. */
SOMEXTERN struct RepositoryClassDataStructure {
SOMClass *classObject;
somMToken lookup_id;
somMToken lookup_modifier;
somMToken release_cache;
} SOMDLINK RepositoryClassData;
#define _Repository RepositoryClassData.classObject
/* The API to parentMtabs for Repository, and the instance data it introduces. */
SOMEXTERN struct RepositoryCClassDataStructure {
somMethodTabs parentMtab;
somDToken instanceDataToken;
} SOMDLINK RepositoryCClassData;
/*
* -- Typedefs for Repository Method Procedures
*/
SOMEXTERN {
typedef Contained* (SOMLINK * somTD_Repository_lookup_id)(Repository *somSelf, Environment *ev,
string search_id);
typedef string (SOMLINK * somTD_Repository_lookup_modifier)(Repository *somSelf, Environment *ev,
string name,
string modifier);
typedef void (SOMLINK * somTD_Repository_release_cache)(Repository *somSelf, Environment *ev);
/*
* -- Typedefs for Reintroduced Wrapper Methods
*/
typedef _IDL_SEQUENCE_Contained (SOMLINK * somTD_Repository_contents)(Repository *somSelf, Environment *ev,
Container_InterfaceName limit_type,
boolean exclude_inherited);
typedef _IDL_SEQUENCE_Contained (SOMLINK * somTD_Repository_lookup_name)(Repository *somSelf, Environment *ev,
Identifier search_name,
long levels_to_search,
Container_InterfaceName limit_type,
boolean exclude_inherited);
typedef _IDL_SEQUENCE_Container_ContainerDescription (SOMLINK * somTD_Repository_describe_contents)(Repository *somSelf, Environment *ev,
Container_InterfaceName limit_type,
boolean exclude_inherited,
long max_returned_objs);
typedef void (SOMLINK * somTD_Repository_somInit)(Repository *somSelf);
typedef void (SOMLINK * somTD_Repository_somUninit)(Repository *somSelf);
typedef void (SOMLINK * somTD_Repository_somDumpSelf)(Repository *somSelf,
long level);
typedef void (SOMLINK * somTD_Repository_somDumpSelfInt)(Repository *somSelf,
long level);
typedef void (SOMLINK * somTD_Repository_somDefaultInit)(Repository *somSelf,
somInitCtrl* ctrl);
typedef void (SOMLINK * somTD_Repository_somDestruct)(Repository *somSelf,
octet doFree,
somDestructCtrl* ctrl);
typedef void (SOMLINK * somTD_Repository_somDefaultCopyInit)(Repository *somSelf,
somInitCtrl* ctrl,
SOMObject* fromObj);
typedef Repository* (SOMLINK * somTD_Repository_somDefaultAssign)(Repository *somSelf,
somAssignCtrl* ctrl,
SOMObject* fromObj);
typedef void (SOMLINK * somTD_Repository_somDefaultConstCopyInit)(Repository *somSelf,
somInitCtrl* ctrl,
SOMObject* fromObj);
typedef void (SOMLINK * somTD_Repository_somDefaultVCopyInit)(Repository *somSelf,
somInitCtrl* ctrl,
SOMObject* fromObj);
typedef void (SOMLINK * somTD_Repository_somDefaultConstVCopyInit)(Repository *somSelf,
somInitCtrl* ctrl,
SOMObject* fromObj);
typedef Repository* (SOMLINK * somTD_Repository_somDefaultConstAssign)(Repository *somSelf,
somAssignCtrl* ctrl,
SOMObject* fromObj);
typedef Repository* (SOMLINK * somTD_Repository_somDefaultVAssign)(Repository *somSelf,
somAssignCtrl* ctrl,
SOMObject* fromObj);
typedef Repository* (SOMLINK * somTD_Repository_somDefaultConstVAssign)(Repository *somSelf,
somAssignCtrl* ctrl,
SOMObject* fromObj);
typedef void (SOMLINK * somTD_Repository_somFree)(Repository *somSelf);
typedef SOMClass* (SOMLINK * somTD_Repository_somGetClass)(Repository *somSelf);
typedef string (SOMLINK * somTD_Repository_somGetClassName)(Repository *somSelf);
typedef long (SOMLINK * somTD_Repository_somGetSize)(Repository *somSelf);
typedef boolean (SOMLINK * somTD_Repository_somIsA)(Repository *somSelf,
SOMClass* aClassObj);
typedef boolean (SOMLINK * somTD_Repository_somIsInstanceOf)(Repository *somSelf,
SOMClass* aClassObj);
typedef boolean (SOMLINK * somTD_Repository_somRespondsTo)(Repository *somSelf,
somId mId);
typedef boolean (SOMLINK * somTD_Repository_somDispatch)(Repository *somSelf,
somToken* retValue,
somId methodId,
va_list ap);
typedef boolean (SOMLINK * somTD_Repository_somClassDispatch)(Repository *somSelf,
SOMClass* clsObj,
somToken* retValue,
somId methodId,
va_list ap);
typedef boolean (SOMLINK * somTD_Repository_somCastObj)(Repository *somSelf,
SOMClass* cls);
typedef boolean (SOMLINK * somTD_Repository_somResetObj)(Repository *somSelf);
typedef void (SOMLINK * somTD_Repository_somDispatchV)(Repository *somSelf,
somId methodId,
somId descriptor,
va_list ap);
typedef long (SOMLINK * somTD_Repository_somDispatchL)(Repository *somSelf,
somId methodId,
somId descriptor,
va_list ap);
typedef void* (SOMLINK * somTD_Repository_somDispatchA)(Repository *somSelf,
somId methodId,
somId descriptor,
va_list ap);
typedef double (SOMLINK * somTD_Repository_somDispatchD)(Repository *somSelf,
somId methodId,
somId descriptor,
va_list ap);
typedef SOMObject* (SOMLINK * somTD_Repository_somPrintSelf)(Repository *somSelf);
}
#endif /* Repository_API */
/*
* -- This emitter treats Method Tokens as Thunks by default.
* -- Use the sc modifier "nothunks" to change this default
*/
#undef somresolve_
#define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))
/*
* -- The C++ Wrapper Class for Repository
*/
class Repository : public Container
{
public:
// Repository::new creates the class object if necessary, and then uses somNewNoInit
// to allocate memory and create the object. Initialization is in ctors.
void *operator new(size_t size)
{
SOM_IgnoreWarning(size);
if (!_Repository) RepositoryNewClass(Repository_MajorVersion,Repository_MinorVersion);
return (void*)
SOM_Resolve(_Repository,SOMClass,somNewNoInit)
((SOMClass *)((void*)_Repository));
}
// Repository::delete uses the default deallocator for the object's class.
void operator delete(void * obj)
{
somToken objCls = obj ? *(void**)obj : (somToken) NULL;
if (somIsObj(objCls)) {
SOM_Resolve(objCls,SOMClass,somDeallocate)
((SOMClass*)objCls, (string)obj);
}
}
Repository()
{
if (*(void**)this !=
((somParentMtabStructPtr)
(RepositoryCClassData.parentMtab))->mtab)
return;
somDefaultInit(0);
}
Repository(Repository* fromObj)
{
if (*(void**)this !=
((somParentMtabStructPtr)
(RepositoryCClassData.parentMtab))->mtab)
return;
somDefaultCopyInit(0,((SOMObject*)((void*)fromObj)));
}
Repository(const Repository* fromObj)
{
if (*(void**)this !=
((somParentMtabStructPtr)
(RepositoryCClassData.parentMtab))->mtab)
return;
somDefaultConstCopyInit(0,((SOMObject*)((void*)fromObj)));
}
~Repository()
{
if (!somIsObj(this)) return;
somDestruct(0,0);
*(void**)this = **(void***)this;
}
/* method: lookup_id */
Contained* lookup_id(Environment *ev,
string search_id)
{
return SOM_ResolveD(this,Repository,Repository,lookup_id)
(this, ev,search_id);
}
/* method: lookup_modifier */
string lookup_modifier(Environment *ev,
string name,
string modifier)
{
return SOM_ResolveD(this,Repository,Repository,lookup_modifier)
(this, ev,name,modifier);
}
/* method: release_cache */
void release_cache(Environment *ev)
{
SOM_ResolveD(this,Repository,Repository,release_cache)
(this, ev);
}
/*
* Reintroduce inherited methods
*/
/* method: contents */
_IDL_SEQUENCE_Contained contents(Environment *ev,
Container_InterfaceName limit_type,
boolean exclude_inherited)
{
return SOM_ResolveD(this,Repository,Container,contents)
(this, ev,limit_type,exclude_inherited);
}
/* method: lookup_name */
_IDL_SEQUENCE_Contained lookup_name(Environment *ev,
Identifier search_name,
long levels_to_search,
Container_InterfaceName limit_type,
boolean exclude_inherited)
{
return SOM_ResolveD(this,Repository,Container,lookup_name)
(this, ev,search_name,levels_to_search,limit_type,exclude_inherited);
}
/* method: describe_contents */
_IDL_SEQUENCE_Container_ContainerDescription describe_contents(Environment *ev,
Container_InterfaceName limit_type,
boolean exclude_inherited,
long max_returned_objs)
{
return SOM_ResolveD(this,Repository,Container,describe_contents)
(this, ev,limit_type,exclude_inherited,max_returned_objs);
}
/* method: somInit */
void somInit()
{
SOM_ResolveD(this,Repository,SOMObject,somInit)
(this);
}
/* method: somUninit */
void somUninit()
{
SOM_ResolveD(this,Repository,SOMObject,somUninit)
(this);
}
/* method: somDumpSelf */
void somDumpSelf(long level)
{
SOM_ResolveD(this,Repository,SOMObject,somDumpSelf)
(this,level);
}
/* method: somDumpSelfInt */
void somDumpSelfInt(long level)
{
SOM_ResolveD(this,Repository,SOMObject,somDumpSelfInt)
(this,level);
}
/* initializer method: somDefaultInit */
void somDefaultInit(somInitCtrl* ctrl)
{
SOM_ResolveD(this,Repository,SOMObject,somDefaultInit)
(this,ctrl);
}
/* method: somDestruct */
void somDestruct(octet doFree,
somDestructCtrl* ctrl)
{
SOM_ResolveD(this,Repository,SOMObject,somDestruct)
(this,doFree,ctrl);
}
/* method: somDefaultCopyInit */
void somDefaultCopyInit(somInitCtrl* ctrl,
SOMObject* fromObj)
{
SOM_ResolveD(this,Repository,SOMObject,somDefaultCopyInit)
(this,ctrl,fromObj);
}
/* method: somDefaultAssign */
Repository* somDefaultAssign(somAssignCtrl* ctrl,
SOMObject* fromObj)
{
return SOM_ResolveD(this,Repository,SOMObject,somDefaultAssign)
(this,ctrl,fromObj);
}
/* method: somDefaultConstCopyInit */
void somDefaultConstCopyInit(somInitCtrl* ctrl,
SOMObject* fromObj)
{
SOM_ResolveD(this,Repository,SOMObject,somDefaultConstCopyInit)
(this,ctrl,fromObj);
}
/* method: somDefaultVCopyInit */
void somDefaultVCopyInit(somInitCtrl* ctrl,
SOMObject* fromObj)
{
SOM_ResolveD(this,Repository,SOMObject,somDefaultVCopyInit)
(this,ctrl,fromObj);
}
/* method: somDefaultConstVCopyInit */
void somDefaultConstVCopyInit(somInitCtrl* ctrl,
SOMObject* fromObj)
{
SOM_ResolveD(this,Repository,SOMObject,somDefaultConstVCopyInit)
(this,ctrl,fromObj);
}
/* method: somDefaultConstAssign */
Repository* somDefaultConstAssign(somAssignCtrl* ctrl,
SOMObject* fromObj)
{
return SOM_ResolveD(this,Repository,SOMObject,somDefaultConstAssign)
(this,ctrl,fromObj);
}
/* method: somDefaultVAssign */
Repository* somDefaultVAssign(somAssignCtrl* ctrl,
SOMObject* fromObj)
{
return SOM_ResolveD(this,Repository,SOMObject,somDefaultVAssign)
(this,ctrl,fromObj);
}
/* method: somDefaultConstVAssign */
Repository* somDefaultConstVAssign(somAssignCtrl* ctrl,
SOMObject* fromObj)
{
return SOM_ResolveD(this,Repository,SOMObject,somDefaultConstVAssign)
(this,ctrl,fromObj);
}
/* method: somFree */
void somFree()
{
SOM_ResolveD(this,Repository,SOMObject,somFree)
(this);
}
/* method: somGetClass */
SOMClass* somGetClass()
{
return SOM_ResolveD(this,Repository,SOMObject,somGetClass)
(this);
}
/* method: somGetClassName */
string somGetClassName()
{
return SOM_ResolveD(this,Repository,SOMObject,somGetClassName)
(this);
}
/* method: somGetSize */
long somGetSize()
{
return SOM_ResolveD(this,Repository,SOMObject,somGetSize)
(this);
}
/* method: somIsA */
boolean somIsA(SOMClass* aClassObj)
{
return SOM_ResolveD(this,Repository,SOMObject,somIsA)
(this,aClassObj);
}
/* method: somIsInstanceOf */
boolean somIsInstanceOf(SOMClass* aClassObj)
{
return SOM_ResolveD(this,Repository,SOMObject,somIsInstanceOf)
(this,aClassObj);
}
/* method: somRespondsTo */
boolean somRespondsTo(somId mId)
{
return SOM_ResolveD(this,Repository,SOMObject,somRespondsTo)
(this,mId);
}
/* va_list method: somDispatch */
/* the va_list invocation form */
boolean Repository_somDispatch(somToken* retValue,
somId methodId,
va_list ap)
{
return SOM_ResolveD(this,Repository,SOMObject,somDispatch)
(this,retValue,methodId,ap);
}
/* the varargs invocation form */
boolean somDispatch(somToken* retValue,
somId methodId,
...)
{
va_list ap;
va_start(ap, methodId);
boolean __somResult =
SOM_ResolveD(this,Repository,SOMObject,somDispatch)
(this,retValue,methodId,ap);
va_end(ap);
return __somResult;
}
/* va_list method: somClassDispatch */
/* the va_list invocation form */
boolean Repository_somClassDispatch(SOMClass* clsObj,
somToken* retValue,
somId methodId,
va_list ap)
{
return SOM_ResolveD(this,Repository,SOMObject,somClassDispatch)
(this,clsObj,retValue,methodId,ap);
}
/* the varargs invocation form */
boolean somClassDispatch(SOMClass* clsObj,
somToken* retValue,
somId methodId,
...)
{
va_list ap;
va_start(ap, methodId);
boolean __somResult =
SOM_ResolveD(this,Repository,SOMObject,somClassDispatch)
(this,clsObj,retValue,methodId,ap);
va_end(ap);
return __somResult;
}
/* method: somCastObj */
boolean somCastObj(SOMClass* cls)
{
return SOM_ResolveD(this,Repository,SOMObject,somCastObj)
(this,cls);
}
/* method: somResetObj */
boolean somResetObj()
{
return SOM_ResolveD(this,Repository,SOMObject,somResetObj)
(this);
}
/* va_list method: somDispatchV */
/* the va_list invocation form */
void Repository_somDispatchV(somId methodId,
somId descriptor,
va_list ap)
{
SOM_ResolveD(this,Repository,SOMObject,somDispatchV)
(this,methodId,descriptor,ap);
}
/* the varargs invocation form */
void somDispatchV(somId methodId,
somId descriptor,
...)
{
va_list ap;
va_start(ap, descriptor);
SOM_ResolveD(this,Repository,SOMObject,somDispatchV)
(this,methodId,descriptor,ap);
va_end(ap);
}
/* va_list method: somDispatchL */
/* the va_list invocation form */
long Repository_somDispatchL(somId methodId,
somId descriptor,
va_list ap)
{
return SOM_ResolveD(this,Repository,SOMObject,somDispatchL)
(this,methodId,descriptor,ap);
}
/* the varargs invocation form */
long somDispatchL(somId methodId,
somId descriptor,
...)
{
va_list ap;
va_start(ap, descriptor);
long __somResult =
SOM_ResolveD(this,Repository,SOMObject,somDispatchL)
(this,methodId,descriptor,ap);
va_end(ap);
return __somResult;
}
/* va_list method: somDispatchA */
/* the va_list invocation form */
void* Repository_somDispatchA(somId methodId,
somId descriptor,
va_list ap)
{
return SOM_ResolveD(this,Repository,SOMObject,somDispatchA)
(this,methodId,descriptor,ap);
}
/* the varargs invocation form */
void* somDispatchA(somId methodId,
somId descriptor,
...)
{
va_list ap;
va_start(ap, descriptor);
void* __somResult =
SOM_ResolveD(this,Repository,SOMObject,somDispatchA)
(this,methodId,descriptor,ap);
va_end(ap);
return __somResult;
}
/* va_list method: somDispatchD */
/* the va_list invocation form */
double Repository_somDispatchD(somId methodId,
somId descriptor,
va_list ap)
{
return SOM_ResolveD(this,Repository,SOMObject,somDispatchD)
(this,methodId,descriptor,ap);
}
/* the varargs invocation form */
double somDispatchD(somId methodId,
somId descriptor,
...)
{
va_list ap;
va_start(ap, descriptor);
double __somResult =
SOM_ResolveD(this,Repository,SOMObject,somDispatchD)
(this,methodId,descriptor,ap);
va_end(ap);
return __somResult;
}
/* method: somPrintSelf */
SOMObject* somPrintSelf()
{
return SOM_ResolveD(this,Repository,SOMObject,somPrintSelf)
(this);
}
}; /* Repository */
#endif /* SOM_Repository_xh */