home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 10 Tools
/
10-Tools.zip
/
warptlk3.zip
/
TOOLKIT
/
SOM
/
INCLUDE
/
IMPLREP.IDL
< prev
next >
Wrap
Text File
|
1995-08-24
|
5KB
|
110 lines
//
// COMPONENT_NAME: somd
//
// 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.
//
// CLASS SPECIFICATION FOR IMPLEMENTATION REPOSITORY
#ifndef implrep_idl
#define implrep_idl
#include <somobj.idl>
#include <somdtype.idl>
#include <snglicls.idl>
interface ImplementationDef;
interface ImplRepository : SOMObject
{
ImplementationDef find_impldef(in ImplId implid);
// This method searches the Implementation Repository and returns
// an ImplementationDef object with the specified implid.
ImplementationDef find_impldef_by_alias(in string alias_name);
// This method searches the Implementation Repository and returns
// an ImplementationDef object with the specified name (alias).
ORBStatus find_all_impldefs(out sequence<ImplementationDef> outimpldefs);
// This method searches the Implementation Repository and returns
// all the ImplementationDef objects in it.
sequence<ImplementationDef> find_impldef_by_class(in string classname);
// This method searches the class index and returns the sequence of
// ImplementationDef objects for servers which implement that class.
void add_impldef(in ImplementationDef impldef);
// This method inserts an ImplementationDef object into the Implementation
// Repository.
void update_impldef(in ImplementationDef impldef);
// This method replaces an ImplementationDef object in the Implementation
// Repository with the supplied object. The "impl_id" attribute of the
// supplied object is used to find the object to replace in the Impl.
// Repository.
void delete_impldef(in ImplId implid);
// This method deletes the ImplementationDef object with the specified
// implid from the Implementation Repository.
void add_class_to_impldef(in ImplId implid, in string classname);
// This method associates the classname with the ImplementationDef
// whose id is "implid". This is meant to indicate that the server
// (specified by the ImplementationDef) implements the named class.
void remove_class_from_impldef(in ImplId implid, in string classname);
// This method removes the classname from the list of classnames
// associated with the ImplementationDef whose id is "implid".
void remove_class_from_all(in string classname);
// This method removes the classname from all the ImplementationDefs.
sequence<string> find_classes_by_impldef(in ImplId implid);
// This method searches the class index and returns the sequence of
// class names supported by a server with specified "implid".
#ifdef __SOMIDL__
implementation
{
releaseorder: find_impldef, find_impldef_by_alias,
find_impldef2, find_impldef_by_alias2,
find_impldef_by_class, add_impldef,
update_impldef, delete_impldef,
add_class_to_impldef,
remove_class_from_impldef, remove_class_from_all,
find_classes_by_impldef,
implr_get_impl, implr_search_impl,
implr_search_class, implr_update_impl,
find_all_impldefs;
callstyle = idl;
metaclass = SOMMSingleInstance;
dllname = "somd.dll";
majorversion = 2;
minorversion = 1;
somInit: override;
somUninit: override;
passthru C_h_after = ""
"#include <impldef.h>"
""
"#ifdef SOM_STRICT_IDL"
#ifdef _WIN16
"#define SOMD_ImplRepObject (*SOMD_ImplRepObjectResolve())"
"SOMEXTERN ImplRepository * SOMLINK SOMD_ImplRepObjectResolve(void);"
#else
"SOMEXTERN ImplRepository SOMDLINK SOMD_ImplRepObject;"
#endif
"#else"
#ifdef _WIN16
"#define SOMD_ImplRepObject (*SOMD_ImplRepObjectResolve())"
"SOMEXTERN ImplRepository ** SOMLINK SOMD_ImplRepObjectResolve(void);"
#else
"SOMEXTERN ImplRepository * SOMDLINK SOMD_ImplRepObject;"
#endif
"#endif /* SOM_STRICT_IDL */"
"";
passthru C_xh_after = ""
"#include <impldef.xh>"
""
#ifdef _WIN16
"#define SOMD_ImplRepObject (*SOMD_ImplRepObjectResolve())"
"SOMEXTERN ImplRepository ** SOMLINK SOMD_ImplRepObjectResolve(void);"
#else
"SOMEXTERN ImplRepository * SOMDLINK SOMD_ImplRepObject;"
#endif
"";
};
#endif /* __SOMIDL__ */
};
#endif /* implrep_idl */