8#ifndef __FACADESUBSYSTEM_INTERFACE_H__
9#define __FACADESUBSYSTEM_INTERFACE_H__
109 virtual std::vector<uint32_t>
GetIdcodes(
int chainIndex) = 0;
The namespace containing all Design Pattern Examples implemented in C++.
IDeviceNetworkLowLevel * CreateLowLevelInstance()
Class factory for a singleton instance of the sub-system class. Part of the Facade Pattern example.
DeviceTypes
Identifies the type of devices that can appear in a device chain. Part of the Facade Pattern example.
@ DEVICECONTROLLER
device controller. This is always visible.
Represents a network of device chains and the low level access to that network. In general,...
virtual bool LockDeviceChain(int chainIndex)=0
Lock the specified device chain for exclusive access.
virtual void ResetDeviceChain(int chainIndex)=0
Reset the visibility of all devices on the specified device chain.
virtual ~IDeviceNetworkLowLevel()
virtual std::vector< uint32_t > GetIdcodes(int chainIndex)=0
Retrieve a list of idcodes of all visible devices in the given device chain.
virtual void EnableDevicesInDeviceChain(int chainIndex, uint32_t devicesSelectMask)=0
Make visible the specified devices on the specified device chain.
virtual int GetNumChains()=0
Retrieve the number of device chains available in the network.
virtual bool UnlockDeviceChain(int chainIndex)=0
Unlock the specified device chain to release exclusive access.
virtual void DisableDevicesInDeviceChain(int chainIndex, uint32_t devicesSelectMask)=0
Make invisible the specified devices on the specified device chain.