next up previous contents
Next: C.3.2 Die Klasse MgmtObjectMgr Up: C.3 Die Erweiterung der Previous: C.3 Die Erweiterung der

C.3.1 Die Erweiterung der Klasse ITSCSOMDServer

Dies ist eine Erweiterung der Klasse ITSCSOMDServer aus [IBM 95a].
#ifndef ITSCSOMDServer_idl
#define ITSCSOMDServer_idl

#include <somobj.idl>
#include <somdserv.idl>
#include <somdtype.idl>
#include <snglicls.idl>
#include "reflitem.idl"
#include "refstrct.idl"
interface RefLinkList;
interface Repository;

interface ITSCSOMDServer : SOMDServer
{

    /*------------------------------*/
    /*      Exceptions              */
    /*------------------------------*/

  exception ITSCSERV_ERR {long errCode;
                          char Reason[80];};

    /*------------------------------*/
    /*          Methods             */
    /*------------------------------*/



    long GetAllRegisterClasses( out sequence<string> clsList)
                                raises (ITSCSERV_ERR);

    long GetAllUserClasses( out sequence<string> clsList)        
                            raises (ITSCSERV_ERR);

    long GetAllAffinityGroup(in string class_name,
                             out sequence<string> clsList)
                             raises (ITSCSERV_ERR);

    long GetClassStatus(in string class_name)
                        raises (ITSCSERV_ERR);

    long GetClassTree(in string class_name,
                      out sequence<string> clsList)
                      raises (ITSCSERV_ERR);

    long GetInstancesForClass (in string class_name,
            out sequence<RefStruct::refData> clsList)
            raises (ITSCSERV_ERR);

    long GetClassAncestors (in string class_name,
                            out sequence<string> clsList)
                            raises (ITSCSERV_ERR);

    sequence<RefStruct::refData> GetRefData();

    sequence<RefStruct::refData> GetProxyData();

    void AddProxyToList(in string ref, in string class);

    void DeleteProxyFromList(in string ref, in string class);

    void verifyList(in RefLinkList refLList);

    void object_created(in string server,
                        in string objref,
                        in string class);

    void object_deleted(in string objref,
                        in string class);

    /*------------------------------*/
    /*       Implementation         */
    /*------------------------------*/

#ifdef __SOMIDL__

  implementation
  {
    passthru C_h = "#include \"refstrct.h\"";
    passthru C_xh = "#include \"refstrct.xh\"";

    // Class Modifiers
    releaseorder: GetRefData,
                  GetAllRegisterClasses,
                  GetAllUserClasses,
                  GetAllAffinityGroup,
                  GetClassStatus,
                  GetClassTree,
                  GetInstancesForClass,
                  GetClassAncestors,
                  verifyList,
                  object_created,
                  object_deleted
                 ;

    dllname = "itscserv.dll";
    metaclass = SOMMSingleInstance;

            /*------------------------------*/
            /*      Method Overrides        */
            /*------------------------------*/

    // Method modifiers
    somdRefFromSOMObj:  override;
    somdSOMObjFromRef:  override;
    somdDispatchMethod: override;
    somInit:            override;
    somUninit:          override;
    somdCreateObj:      override;
    somdDeleteObj:      override;
            /*------------------------------*/
            /*     Instance Variables       */
            /*------------------------------*/
    Repository  repo;
    RefLinkList refLList; /*list of objects*/
    RefLinkList proxyList; /*list of proxies*/

  };
  #endif /* __SOMIDL__ */
};
#endif


Copyright Munich Network Management Team