home *** CD-ROM | disk | FTP | other *** search
- //
- // 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"
- #if defined(_WIN16)
- "#define SOMD_ImplRepObject (*SOMD_ImplRepObjectResolve())"
- "SOMEXTERN ImplRepository * SOMLINK SOMD_ImplRepObjectResolve(void);"
- #elif defined (_WIN32)
- "SOMEXTERN WIN32_DLLIMPORT ImplRepository SOMDLINK SOMD_ImplRepObject;"
- #else
- "SOMEXTERN ImplRepository SOMDLINK SOMD_ImplRepObject;"
- #endif
- "#else"
- #if defined(_WIN16)
- "#define SOMD_ImplRepObject (*SOMD_ImplRepObjectResolve())"
- "SOMEXTERN ImplRepository ** SOMLINK SOMD_ImplRepObjectResolve(void);"
- #elif defined (_WIN32)
- "SOMEXTERN WIN32_DLLIMPORT ImplRepository * SOMDLINK SOMD_ImplRepObject;"
- #else
- "SOMEXTERN ImplRepository * SOMDLINK SOMD_ImplRepObject;"
- #endif
- "#endif /* SOM_STRICT_IDL */"
- "";
-
- passthru C_xh_after = ""
- "class ImplRepository;"
- "#include <impldef.xh>"
- ""
- #if defined(_WIN16)
- "#define SOMD_ImplRepObject (*SOMD_ImplRepObjectResolve())"
- "SOMEXTERN ImplRepository ** SOMLINK SOMD_ImplRepObjectResolve(void);"
- #elif defined (_WIN32)
- "SOMEXTERN WIN32_DLLIMPORT ImplRepository * SOMDLINK SOMD_ImplRepObject;"
- #else
- "SOMEXTERN ImplRepository * SOMDLINK SOMD_ImplRepObject;"
- #endif
- "";
-
- passthru C_hh_after = ""
- "class ImplRepository;"
- "#include <impldef.hh>"
- ""
- #if defined(_WIN16)
- "#define SOMD_ImplRepObject (*SOMD_ImplRepObjectResolve())"
- "SOMEXTERN ImplRepository ** SOMLINK SOMD_ImplRepObjectResolve(void);"
- #elif defined (_WIN32)
- "SOMEXTERN WIN32_DLLIMPORT ImplRepository * SOMDLINK SOMD_ImplRepObject;"
- #else
- "SOMEXTERN ImplRepository * SOMDLINK SOMD_ImplRepObject;"
- #endif
- "";
-
- };
-
- #endif /* __SOMIDL__ */
- };
-
- #endif /* implrep_idl */
-