// --------------------------------------------------------------------------- // Name: actISubsystem.h // Product: cv act library // Purpose: The class ISubsystem detects and manages the slots // // Copyright: (c) 2002 cv cryptovision GmbH // all rights reserved // Licence: The conditions for the use of this software are regulated // in the cv act library licence agreement. // // Autor: Dr. Xiangdong Wang (XWG) // Date: 03/26/2002 // --------------------------------------------------------------------------- #ifndef ACT_ISubsystem_h #define ACT_ISubsystem_h #include "actBasics.h" #include "actIRefCounted.h" #include "actISynchronize.h" #include "actIEventMonitoring.h" namespace act { class ISlot; class ITokenConfig; // // ISubsystem class ISubsystem : public IRefCounted , public ISynchronize , public IEventMonitoring { public: virtual void Refresh() = 0; virtual bool Disconnect() = 0; virtual bool Install(size_t port) = 0; virtual const char* GetName() const = 0; // SlotList virtual int GetSlotNumber() const = 0; virtual const ISlot* GetSlot(int pos) const = 0; virtual ISlot* CreateSlot(const char* name) = 0; virtual void SetTokenConfig(ITokenConfig* tkcfg) = 0; protected: virtual ~ISubsystem() { } }; } // namespace act #endif // ACT_ISubsystem_h