Design Pattern Examples
Overview of object-oriented design patterns
FacadeSubsystem_Interface.h
Go to the documentation of this file.
1
6
7#pragma once
8#ifndef __FACADESUBSYSTEM_INTERFACE_H__
9#define __FACADESUBSYSTEM_INTERFACE_H__
10
11#include <vector>
12
14{
15
21 {
42 };
43
44
56 {
58
63 virtual int GetNumChains() = 0;
64
70 virtual bool LockDeviceChain(int chainIndex) = 0;
71
77 virtual bool UnlockDeviceChain(int chainIndex) = 0;
78
83 virtual void ResetDeviceChain(int chainIndex) = 0;
84
92 virtual void EnableDevicesInDeviceChain(int chainIndex, uint32_t devicesSelectMask) = 0;
93
101 virtual void DisableDevicesInDeviceChain(int chainIndex, uint32_t devicesSelectMask) = 0;
102
109 virtual std::vector<uint32_t> GetIdcodes(int chainIndex) = 0;
110 };
111
112
113 //########################################################################
114 //########################################################################
115
116
123
124} // end namespace
125
126#endif // __FACADESUBSYSTEM_INTERFACE_H__
127
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 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.