55 lines
1.3 KiB
C++
55 lines
1.3 KiB
C++
// ---------------------------------------------------------------------------
|
|
// 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
|