Represents a network of device chains and the low level access to that network. In general, the caller should take a lock on a device chain before accessing it then release the lock when done. Part of the Facade Pattern example. More...
#include <Facade_ComplexSystem.h>
Public Attributes | |
int(* | GetNumChains )(void) |
Retrieve the number of device chains available in the network. | |
bool(* | LockDeviceChain )(int chainIndex) |
Lock the specified device chain for exclusive access. | |
bool(* | UnlockDeviceChain )(int chainIndex) |
Unlock the specified device chain to release exclusive access. | |
void(* | ResetDeviceChain )(int chainIndex) |
Reset the visibility of all devices on the specified device chain. | |
void(* | EnableDevicesInDeviceChain )(int chainIndex, uint32_t devicesSelectMask) |
Make visible the specified devices on the specified device chain. | |
void(* | DisableDevicesInDeviceChain )(int chainIndex, uint32_t devicesSelectMask) |
Make invisible the specified devices on the specified device chain. | |
void(* | GetIdcodes )(int chainIndex, UIntArray *idcodes) |
Retrieve a list of idcodes of all visible devices in the given device chain. | |
Represents a network of device chains and the low level access to that network. In general, the caller should take a lock on a device chain before accessing it then release the lock when done. Part of the Facade Pattern example.
This interface makes it easier to contrast with the IDeviceNetworkHighLevel interface.
Definition at line 57 of file Facade_ComplexSystem.h.
void(* DisableDevicesInDeviceChain) (int chainIndex, uint32_t devicesSelectMask) |
Make invisible the specified devices on the specified device chain.
chainIndex | Index of the device chain (0..n-1). |
devicesSelectMask | Bit mask where each bit set indicates the corresponding device should be made invisible. Bit 0 corresponds to the first device, bit 1 to the second device, etc. Bit 0 is ignored as the first device is always visible. |
Definition at line 103 of file Facade_ComplexSystem.h.
void(* EnableDevicesInDeviceChain) (int chainIndex, uint32_t devicesSelectMask) |
Make visible the specified devices on the specified device chain.
chainIndex | Index of the device chain (0..n-1). |
devicesSelectMask | Bit mask where each bit set indicates the corresponding device should be made visible. Bit 0 corresponds to the first device, bit 1 to the second device, etc. Bit 0 is ignored as the first device is always visible. |
Definition at line 93 of file Facade_ComplexSystem.h.
Referenced by EnableDevicesInDeviceChain().
void(* GetIdcodes) (int chainIndex, UIntArray *idcodes) |
Retrieve a list of idcodes of all visible devices in the given device chain.
chainIndex | Index of the device chain (0..n-1). |
idcodes | Returns an array of idcodes for each visible TAP, with the first TAP being at index 0. This UIntArray object needs to be initialized before use with UIntArray_Initialize() and freed after use with UIntArray_Clear(). |
Definition at line 113 of file Facade_ComplexSystem.h.
Referenced by GetIdcodes().
int(* GetNumChains) (void) |
Retrieve the number of device chains available in the network.
Definition at line 63 of file Facade_ComplexSystem.h.
Referenced by NumChains().
bool(* LockDeviceChain) (int chainIndex) |
Lock the specified device chain for exclusive access.
chainIndex | Index of the device chain (0..n-1). |
Definition at line 70 of file Facade_ComplexSystem.h.
Referenced by DisableDevicesInDeviceChain(), EnableDevicesInDeviceChain(), and GetIdcodes().
void(* ResetDeviceChain) (int chainIndex) |
Reset the visibility of all devices on the specified device chain.
chainIndex | Index of the device chain (0..n-1). |
Definition at line 83 of file Facade_ComplexSystem.h.
Referenced by DisableDevicesInDeviceChain().
bool(* UnlockDeviceChain) (int chainIndex) |
Unlock the specified device chain to release exclusive access.
chainIndex | Index of the device chain (0..n-1). |
Definition at line 77 of file Facade_ComplexSystem.h.
Referenced by DisableDevicesInDeviceChain(), EnableDevicesInDeviceChain(), and GetIdcodes().