CHAI SDK
Version 1.3
|
It is the base interface for all Local Devices. More...
Public Member Functions | |
virtual CPNS::ILocalDevice * | GetILocalDevice () const =0 |
Check LocalDevice type and return an ILocalDevice object pointer if type match. More... | |
virtual CPNS::IMIDI2CPLocalDevice * | GetIMIDI2CPLocalDevice () const =0 |
Check LocalDevice type and return an IMIDI2CPLocalDevice object pointer if type match. More... | |
virtual CPNS::ICP2MIDILocalDevice * | GetICP2MIDILocalDevice () const =0 |
Check LocalDevice type and return an ICP2MIDILocalDevice object pointer if type match. More... | |
virtual CPNS::IHybridMIDILocalDevice * | GetIHybridMIDILocalDevice () const =0 |
Check LocalDevice type and return an IHybridMIDILocalDevice object pointer if type match. More... | |
virtual CPNS::IVMIDILinkInLocalDevice * | GetIVMIDILinkInLocalDevice () const =0 |
Check LocalDevice type and return an IInVMIDILinkLocalDevice object pointer if type match. More... | |
virtual CPNS::IVMIDILinkOutLocalDevice * | GetIVMIDILinkOutLocalDevice () const =0 |
Check LocalDevice type and return an IOutVMIDILinkLocalDevice object pointer if type match. More... | |
virtual CPNS::IVMIDILinkHybridLocalDevice * | GetIVMIDILinkHybridLocalDevice () const =0 |
Check LocalDevice type and return an IHybridVMIDILinkLocalDevice object pointer if type match. More... | |
virtual CPNS::ISharedDisplayLocalDevice * | GetISharedDisplayLocalDevice () const =0 |
Check LocalDevice type and return an ISharedDisplayLocalDevice object pointer if type match. More... | |
virtual CPNS::ISharedDisplayClientLocalDevice * | GetISharedDisplayClientLocalDevice () const =0 |
Check LocalDevice type and return an ISharedDisplayClientLocalDevice object pointer if type match. More... | |
virtual CPNS::IAudioLanLocalDevice * | GetIAudioLanLocalDevice () const =0 |
Check LocalDevice type and return an IAudioLanLocalDevice object pointer if type match. More... | |
virtual void | SetDisabledDestinationAutoDelete (CPNS::boolean const fAutoDelete)=0 |
Enable/disable the automatic deletion of disabled destination after 60 seconds. More... | |
virtual void | SetDisabledInternalSnapshot (CPNS::boolean const fDisabled, CPNS::boolean const fAlsoForChildren)=0 |
Enable/disable the internal snapshot capability for this device and optionally its descendants By default it is enabled for device hosting outputs, for outputs hosting controllers, and for inputs hosting parameters. More... | |
virtual void | SetSectionName (CPNS::SectionID const §ionID, CPNS::char8 const *const utf8Name)=0 |
Set a custom name for the specified section. More... | |
virtual CPNS::UTF8String | GetSectionName (CPNS::SectionID const §ionID)=0 |
Get the custom name for the specified section type. More... | |
virtual void | FlowControl (CPNS::boolean const fSuspend)=0 |
This can be used to notify connected Output that they should suspend or resume sending. More... | |
virtual CPNS::ILocalDevice * | AddSubLocalDevice (CPNS::uint16 const wModuleID, CPNS::boolean const fHidden, CPNS::CombinedExtendedDeviceCapabilities const extDevCaps, CPNS::char8 const *const utf8ModelName)=0 |
Add a generic sub-device A sub-device get the same identity (BrandID and ModelID) than its root, but it has a unique ModuleID that must be <>0. More... | |
virtual CPNS::IMIDI2CPLocalDevice * | AddSubMIDI2CPLocalDevice (CPNS::uint16 const wModuleID, CPNS::boolean const fHidden, CPNS::CombinedExtendedDeviceCapabilities const extDevCaps, CPNS::char8 const *const utf8ModelName)=0 |
Add a generic MIDI to CopperLan sub-device A sub-device get the same identity (BrandID and ModelID) than its root, but it has a unique ModuleID that must be <>0. More... | |
virtual CPNS::ICP2MIDILocalDevice * | AddSubCP2MIDILocalDevice (CPNS::uint16 const wModuleID, CPNS::boolean const fHidden, CPNS::CombinedExtendedDeviceCapabilities const extDevCaps, CPNS::char8 const *const utf8ModelName)=0 |
Add a generic CopperLan to MIDI sub-device A sub-device get the same identity (BrandID and ModelID) than its root, but it has a unique ModuleID that must be <>0. More... | |
virtual CPNS::IHybridMIDILocalDevice * | AddSubHybridMIDILocalDevice (CPNS::uint16 const wModuleID, CPNS::boolean const fHidden, CPNS::CombinedExtendedDeviceCapabilities const extDevCaps, CPNS::char8 const *const utf8ModelName)=0 |
Add a generic hybrid MIDI sub-device A sub-device get the same identity (BrandID and ModelID) than its root, but it has a unique ModuleID that must be <>0. More... | |
virtual CPNS::IVMIDILinkOutLocalDevice * | AddSubVMIDILinkOutLocalDevice (CPNS::uint16 const wModuleID, CPNS::char8 const *const utf8PortName)=0 |
Add a VMIDILink Out sub-device. More... | |
virtual CPNS::IVMIDILinkInLocalDevice * | AddSubVMIDILinkInLocalDevice (CPNS::uint16 const wModuleID, CPNS::char8 const *const utf8PortName)=0 |
Add a VMIDILink In sub-device This kind of Local Device is acting as a local input port, aimed to receive messages from a MIDI Out port automatically created on remote computers. More... | |
virtual CPNS::IVMIDILinkHybridLocalDevice * | AddSubVMIDILinkHybridLocalDevice (CPNS::uint16 const wModuleID, CPNS::char8 const *const utf8PortName)=0 |
Add a VMIDILink Hybrid sub-device This kind of Local Device is acting as a local input/output port, aimed to receive and send messages from/to a pair of MIDI Out/In ports automatically created on remote computers. More... | |
virtual CPNS::ISharedDisplayLocalDevice * | AddSubSharedDisplayLocalDevice (CPNS::uint16 const wModuleID, CPNS::boolean const fHidden, CPNS::CombinedExtendedDeviceCapabilities const extDevCaps, CPNS::char8 const *const utf8ModelName)=0 |
Add a generic shared display server sub-device A sub-device get the same identity (BrandID and ModelID) than its root, but it has a unique ModuleID that must be <>0. More... | |
virtual CPNS::ISharedDisplayClientLocalDevice * | AddSubSharedDisplayClientLocalDevice (CPNS::uint16 const wModuleID, CPNS::boolean const fHidden, CPNS::CombinedExtendedDeviceCapabilities const extDevCaps, CPNS::char8 const *const utf8ModelName)=0 |
Add a generic shared display client sub-device A sub-device get the same identity (BrandID and ModelID) than its root, but it has a unique ModuleID that must be <>0. More... | |
virtual CPNS::IBaseLocalDevice * | GetFirstSubDevice ()=0 |
Get the first sub-device. More... | |
virtual CPNS::IBaseLocalDevice * | GetNextDevice ()=0 |
Get next sibling device. More... | |
virtual CPNS::IBaseLocalDevice * | GetParentDevice ()=0 |
Get parent device. More... | |
virtual CPNS::CombinedDeviceCapabilities | GetDeviceCapabilities ()=0 |
Get the consolidated capabilities of the device and its children. More... | |
virtual CPNS::CombinedInOutCapabilities | GetOutputCapabilities ()=0 |
Get the consolidated Output capabilities of the device and its children. More... | |
virtual CPNS::CombinedInOutCapabilities | GetInputCapabilities ()=0 |
Get the consolidated Input capabilities of the device and its children. More... | |
virtual CPNS::CombinedDeviceCapabilities | GetOwnDeviceCapabilities ()=0 |
Get the device capabilities. More... | |
virtual CPNS::CombinedInOutCapabilities | GetOwnOutputCapabilities ()=0 |
Get the Output capabilities. More... | |
virtual CPNS::CombinedInOutCapabilities | GetOwnInputCapabilities ()=0 |
Get the Input capabilities. More... | |
virtual CPNS::CombinedExtendedDeviceCapabilities | GetExtendedDeviceCapabilities ()=0 |
Get the extended device capabilities. More... | |
virtual void | RegisterNotificationHandler (CPNS::IBaseLocalDevice_NotificationHandler *const pHandler)=0 |
Register a Local Device notification handler. More... | |
virtual void | UnregisterNotificationHandler (CPNS::IBaseLocalDevice_NotificationHandler *const pHandler)=0 |
Unregister a Local Device notification handler. More... | |
virtual void | SetSnapshotNotificationHandler (CPNS::IBaseLocalDevice_SnapshotNotificationHandler *const pHandler)=0 |
Set a Local Device Snapshot notification handler. More... | |
virtual void | SetSmartConnectTargetNotificationHandler (CPNS::IBaseLocalDevice_SmartConnectTargetNotificationHandler *const pHandler)=0 |
Set a Local Device notification handler for Smart Connect, Target side. More... | |
virtual CPNS::DeviceID | GetDeviceID () const =0 |
Get the DeviceID. More... | |
virtual CPNS::Enums::Errors | SetExtendeddDevCaps (CPNS::CombinedExtendedDeviceCapabilities const xDevCaps)=0 |
Set the device's extended caps. More... | |
virtual CPNS::CombinedExtendedDeviceCapabilities | GetExtendedDevCaps () const =0 |
Get the extended caps. More... | |
virtual CPNS::DeviceID | GetParentDeviceID () const =0 |
Get the parent DeviceID. More... | |
virtual CPNS::boolean | IsChildOf (CPNS::IBaseLocalDevice *const pCheckDev)=0 |
Check if the local device is or is child of another one. More... | |
virtual CPNS::UTF8String | GetBrandName ()=0 |
Get the Brand name. More... | |
virtual CPNS::UTF8String | GetModelName ()=0 |
Get the Model name. More... | |
virtual CPNS::Enums::Errors | SetCustomName (CPNS::char8 const *const utf8CustomName)=0 |
Set the Custom name If not empty, the custom name override the default name. More... | |
virtual CPNS::UTF8String | GetCustomName ()=0 |
Get the Custom name. More... | |
virtual CPNS::UTF8String | GetName (CPNS::Enums::DeviceNameFormats const format)=0 |
Get the specified name. More... | |
virtual CPNS::UTF8String | GetPath ()=0 |
Get the path. More... | |
virtual CPNS::Enums::DuplicateModes | GetDuplicateMode () const =0 |
Get the duplicate mode. More... | |
virtual CPNS::Enums::Errors | SetVisibility (CPNS::boolean const fHidden)=0 |
Change device visibility. More... | |
virtual CPNS::Enums::Errors | SetStringProperty (CPNS::uint16 const wPropertyNum, CPNS::char8 const *const utf8Value)=0 |
Set a text device property. More... | |
virtual CPNS::Enums::Errors | SetNumericProperty (CPNS::uint16 const wPropertyNum, CPNS::uint64 const qwValue)=0 |
Set a numeric device property. More... | |
virtual CPNS::Enums::Errors | GetStringProperty (CPNS::uint16 const wPropertyNum, CPNS::UTF8String &strValue)=0 |
virtual CPNS::Enums::Errors | GetNumericProperty (CPNS::uint16 const wPropertyNum, CPNS::uint64 &qwValue)=0 |
virtual CPNS::IOutput * | AddOutput (CPNS::CombinedInOutCapabilities const outCaps, CPNS::char8 const *const utf8Name, CPNS::SectionID const §ionID)=0 |
Add an Output. More... | |
virtual void | ClearOutputs ()=0 |
Remove all outputs and associated data (controller definition) More... | |
virtual CPNS::uint16 | GetNumOutputs ()=0 |
Get the number of Outputs. More... | |
virtual CPNS::IOutput * | FindFirstOutput ()=0 |
Get the first Output. More... | |
virtual CPNS::IOutput * | FindLastOutput ()=0 |
Get the last Output. More... | |
virtual CPNS::IOutput * | FindPrevOutput (CPNS::uint16 const wOutputID)=0 |
Get the prev Output. More... | |
virtual CPNS::IOutput * | FindNextOutput (CPNS::uint16 const wOutputID)=0 |
Get the next Output. More... | |
virtual CPNS::IOutput * | GetOutputFromID (CPNS::uint16 const wOutputID)=0 |
Get the specified Output. More... | |
virtual CPNS::Enums::Errors | Flush ()=0 |
Flush all outputs. More... | |
virtual CPNS::IInput * | AddInput (CPNS::CombinedInOutCapabilities const inCaps, CPNS::char8 const *const utf8Name, CPNS::SectionID const §ionID)=0 |
Add an Input. More... | |
virtual void | ClearInputs ()=0 |
Remove all inputs and associated data (parameter definition) More... | |
virtual CPNS::uint16 | GetNumInputs ()=0 |
Get the number of Inputs. More... | |
virtual CPNS::IInput * | FindFirstInput ()=0 |
Get the first Input. More... | |
virtual CPNS::IInput * | FindLastInput ()=0 |
Get the last Input. More... | |
virtual CPNS::IInput * | FindPrevInput (CPNS::uint16 const wInputID)=0 |
Get the prev Input. More... | |
virtual CPNS::IInput * | FindNextInput (CPNS::uint16 const wInputID)=0 |
Get the next Input. More... | |
virtual CPNS::IInput * | GetInputFromID (CPNS::uint16 const wInputID)=0 |
Get the specified Input. More... | |
virtual CPNS::IController * | AddController (CPNS::char8 const *const utf8Name, CPNS::CombinedControllerTypes const types, CPNS::Enums::MessageTypes const preferredMsgType, CPNS::uint16 const wPreferredMsgNum, CPNS::uint16 const wGroup, CPNS::SectionID const §ionID)=0 |
Add a controller. More... | |
virtual void | ClearControllers ()=0 |
Remove all controllers. More... | |
virtual CPNS::uint16 | GetNumControllers ()=0 |
Get the number of Controller. More... | |
virtual CPNS::IController * | FindFirstController ()=0 |
Get the first Controller. More... | |
virtual CPNS::IController * | FindLastController ()=0 |
Get the last Controller. More... | |
virtual CPNS::IController * | FindPrevController (CPNS::uint16 const wControllerID)=0 |
Get the prev Controller. More... | |
virtual CPNS::IController * | FindNextController (CPNS::uint16 const wControllerID)=0 |
Get the next Controller. More... | |
virtual CPNS::IController * | GetControllerFromID (CPNS::uint16 const wControllerID)=0 |
Get the specified Controller. More... | |
virtual void | UnassignAllControllers (CPNS::boolean const fAlsoForChildren)=0 |
Unassign all controllers and clear connections for all related Outputs. More... | |
virtual void | LeaveLearningMode ()=0 |
Leave learning mode if one of this Device's Controller is currently learning. More... | |
virtual CPNS::boolean | IsLearningModeActive ()=0 |
Check if learning mode is active for one of this Device's Controllers. More... | |
virtual CPNS::IPipe * | AddPipe (CPNS::boolean const fSynapse)=0 |
Add an Pipe. More... | |
virtual void | ClearPipes ()=0 |
Remove all pipes. More... | |
virtual CPNS::uint16 | GetNumPipes ()=0 |
Get the number of Pipes. More... | |
virtual CPNS::IPipe * | FindFirstPipe ()=0 |
Get the first Pipe. More... | |
virtual CPNS::IPipe * | FindNextPipe (CPNS::uint16 const wPipeID)=0 |
Get the next Pipe. More... | |
virtual CPNS::IPipe * | GetPipeFromID (CPNS::uint16 const wPipeID)=0 |
Get the specified Pipe. More... | |
virtual void | RegisterSignalNotificationHandler (CPNS::IBaseLocalDevice_SignalNotificationHandler *const pHandler)=0 |
Register a Signal reception notification handler. More... | |
virtual void | UnregisterSignalNotificationHandler (CPNS::IBaseLocalDevice_SignalNotificationHandler *const pHandler)=0 |
Unregister a Signal reception notification handler. More... | |
virtual CPNS::Enums::Errors | Signal_Direct (CPNS::DeviceID const &devID, CPNS::uint16 const wSignalNumber, CPNS::uint16 const wOptionalData0, CPNS::uint16 const wOptionalData1, CPNS::uint16 const wOptionalData2, CPNS::uint16 const wOptionalData3, CPNS::char8 const *const utf8OptionalData, CPNS::Endpoint const &optionalEndpoint)=0 |
Send a directed signal to the specified device. More... | |
virtual CPNS::Enums::Errors | Signal_Broadcast (CPNS::uint16 const wSignalNumber, CPNS::uint16 const wOptionalData0, CPNS::uint16 const wOptionalData1, CPNS::uint16 const wOptionalData2, CPNS::uint16 const wOptionalData3, CPNS::char8 const *const utf8OptionalData, CPNS::Endpoint const &optionalEndpoint)=0 |
Send a broadcast signal to all devices. More... | |
virtual CPNS::Enums::Errors | SmartConnectTarget_UnassignAndRequestSectionList (CPNS::uint16 const wSessionID, CPNS::DeviceID const &devID)=0 |
Query the SmartConnect source side to clear its controller assignments and to reply the consolidated section list. More... | |
virtual CPNS::Enums::Errors | SmartConnectTarget_RequestControllerList (CPNS::uint16 const wSessionID, CPNS::DeviceID const &devID, CPNS::SectionID const §ionID)=0 |
Query the SmartConnect source side to reply the controller list related to the specified section instance. More... | |
virtual CPNS::Enums::Errors | SmartConnectTarget_AssignController (CPNS::uint16 const wSessionID, CPNS::DeviceID const &devID, CPNS::uint16 const wControllerID, CPNS::ControllerAssignment const &assignment)=0 |
Assign the specified controller to a target parameter. More... | |
virtual CPNS::Enums::Errors | SmartConnectTarget_AssignOutput (CPNS::uint16 const wSessionID, CPNS::DeviceID const &devID, CPNS::SectionID const §ionID, CPNS::Endpoint const &targetEndpoint)=0 |
Assign the specified source section to a target input. More... | |
virtual CPNS::Enums::Errors | SmartConnectTarget_Finished (CPNS::uint16 const wSessionID, CPNS::Enums::Errors const errCode)=0 |
Close the SmartConnect session To be called from the SmartConnect target side. More... | |
virtual CPNS::uint32 | GetInternalSnapshotDataSize ()=0 |
Get the buffer size needed to store this device's internal snapshot data. More... | |
virtual CPNS::Enums::Errors | GetInternalSnapshotData (CPNS::byte *const pData, CPNS::uint32 const dwSize)=0 |
Get internal snapshot data. More... | |
virtual CPNS::Enums::Errors | RestoreInternalSnapshotData (CPNS::byte const *const pData, CPNS::uint32 const dwSize)=0 |
Restore internal snapshot data. More... | |
virtual CPNS::Enums::Errors | Reply_RequestCollectSnapshotData (CPNS::uint16 const wRequestID, CPNS::Enums::SnapshotBlockPriorities const priority, CPNS::uint32 const dwContextData, CPNS::uint16 const wBlockSize, CPNS::boolean const fLastBlock, void *const pBlockData)=0 |
Reply to a snapshot data collect request Call this to terminate a IBaseLocalDevice_SnapshotNotificationHandler::OnBaseLocalDevice_RequestCollectSnapshotData call. More... | |
virtual CPNS::Enums::Errors | Reply_RequestRestoreSnapshotData (CPNS::uint16 const wRequestID, CPNS::Enums::Errors const returnCode, CPNS::uint32 const dwContextData)=0 |
Reply to a snapshot data restore request Call this to terminate a IBaseLocalDevice_SnapshotNotificationHandler::OnBaseLocalDevice_RequestRestoreSnapshotData call. More... | |
virtual CPNS::Enums::Errors | Reply_InvalidRequest (CPNS::uint16 const wRequestID)=0 |
Invalid Request Call this to terminate a Request if no valid return can be done. More... | |
Public Member Functions inherited from CPNS::IObject | |
virtual CPNS::ICHAI * | GetCHAI ()=0 |
Get a pointer to the CHAI hosting this object. More... | |
virtual void | RegisterObjectNotificationHandler (CPNS::IObject_NotificationHandler *const pHandler)=0 |
Register an Object's notification handler. More... | |
virtual void | UnregisterObjectNotificationHandler (CPNS::IObject_NotificationHandler *const pHandler)=0 |
Unregister an Object's notification handler. More... | |
virtual CPNS::Enums::ObjectTypes | GetObjectType () const =0 |
Get the object type. More... | |
virtual CPNS::uint32 | GetHandle () const =0 |
Get a unique handle to the object if this object is handled by the trashcan. More... | |
virtual void | SetUserDataPtr (void const *const pData)=0 |
Set a custom user ptr data. More... | |
virtual void * | GetUserDataPtr () const =0 |
Get custom user ptr data. More... | |
virtual void | SetUserDataUInt32 (const CPNS::uint32 dwData)=0 |
Set a custom user uint32 data. More... | |
virtual CPNS::uint32 | GetUserDataUInt32 () const =0 |
Get custom user uint32 data. More... | |
It is the base interface for all Local Devices.
A Local Device is an object representing a device handled by the current application, in opposition to a Remote Device related to a device located anywhere on the network.
|
pure virtual |
Add a controller.
[in] | utf8Name | controller's name |
[in] | types | combination of flags determining the controller's type. |
[in] | preferredMsgType | the preferred message type for the control (if any, can be CPNS::Enums::MT_None) |
[in] | wPreferredMsgNum | the preferred message number for the control (if any) |
[in] | wGroup | controller's group. Controllers having the same group number (>0) are physically attached. |
[in] | sectionID | the related section ID. If empty, it is automatically set to {type CPNS::Enums::SECT_Multipurpose, instance 0}. If it is not empty, the SectionType part must not be a wildcard value. If the instance part is 0xFFFF (wildcard), it is automatically assigned to the next free instance number for the specified section type. |
|
pure virtual |
Add an Input.
The new Input's ID is the ordinal number in the collection of Inputs.
[in] | inCaps | the combined Input capabilities. Usually used to give information about the kinds of message handled by this Input. If the Input is aimed to host parameters, the input capabilities |
[in] | utf8Name | the name |
[in] | sectionID | the related section ID. If empty, it is automatically transformed in a valid sectionID having the CPNS::Enums::SECT_Other type. If it is not empty, the SectionType part must not be a wildcard value. If the instance part is 0xFFFF (wildcard), it is automatically assigned with a unique value. |
|
pure virtual |
Add an Output.
The new Output's ID is the ordinal number in the collection of Outputs.
[in] | outCaps | the combined Output capabilities. Usually used to give information about the kinds of message issued by this output. However in case of using this output with controllers, the supported message types capability flags are automatically added depending on the declared controller types. |
[in] | utf8Name | the name |
[in] | sectionID | the related section ID. If the instance part is 0xFFFF (wildcard), it is automatically |
|
pure virtual |
Add an Pipe.
The new Pipe's ID is the ordinal number in the collection of Pipes going down from 0xFFFE
[in] | fSynapse | TRUE if the pipe is a Synapse. A Synapse automatically forward incoming message to all connected pipes, except the source of the message. |
|
pure virtual |
Add a generic CopperLan to MIDI sub-device A sub-device get the same identity (BrandID and ModelID) than its root, but it has a unique ModuleID that must be <>0.
Brand name and Model name can be customized if needed.
[in] | wModuleID | A unique non-zero ModuleID identifying the sub-device. |
[in] | fHidden | TRUE if the device should be hidden |
[in] | extDevCaps | sub-device's extended capabilities |
[in] | utf8ModelName | sub-device's Model name, or NULL to keep root's name. |
|
pure virtual |
Add a generic hybrid MIDI sub-device A sub-device get the same identity (BrandID and ModelID) than its root, but it has a unique ModuleID that must be <>0.
Brand name and Model name can be customized if needed.
[in] | wModuleID | A unique non-zero ModuleID identifying the sub-device. |
[in] | fHidden | TRUE if the device should be hidden |
[in] | extDevCaps | sub-device's extended capabilities |
[in] | utf8ModelName | sub-device's Model name, or NULL to keep root's name. |
|
pure virtual |
Add a generic sub-device A sub-device get the same identity (BrandID and ModelID) than its root, but it has a unique ModuleID that must be <>0.
Brand name and Model name can be customized if needed.
[in] | wModuleID | A unique non-zero ModuleID identifying the sub-device. |
[in] | fHidden | TRUE if the device should be hidden |
[in] | extDevCaps | sub-device's extended capabilities |
[in] | utf8ModelName | sub-device's Model name, or NULL to keep root's name. |
|
pure virtual |
Add a generic MIDI to CopperLan sub-device A sub-device get the same identity (BrandID and ModelID) than its root, but it has a unique ModuleID that must be <>0.
Brand name and Model name can be customized if needed.
[in] | wModuleID | A unique non-zero ModuleID identifying the sub-device. |
[in] | fHidden | TRUE if the device should be hidden |
[in] | extDevCaps | sub-device's extended capabilities |
[in] | utf8ModelName | sub-device's Model name, or NULL to keep root's name. |
|
pure virtual |
Add a generic shared display client sub-device A sub-device get the same identity (BrandID and ModelID) than its root, but it has a unique ModuleID that must be <>0.
Brand name and Model name can be customized if needed.
[in] | wModuleID | A unique non-zero ModuleID identifying the sub-device. |
[in] | fHidden | TRUE if the device should be hidden |
[in] | extDevCaps | sub-device's extended capabilities |
[in] | utf8ModelName | sub-device's Model name, or NULL to keep root's name. |
|
pure virtual |
Add a generic shared display server sub-device A sub-device get the same identity (BrandID and ModelID) than its root, but it has a unique ModuleID that must be <>0.
Brand name and Model name can be customized if needed.
[in] | wModuleID | A unique non-zero ModuleID identifying the sub-device. |
[in] | fHidden | TRUE if the device should be hidden |
[in] | extDevCaps | sub-device's extended capabilities |
[in] | utf8ModelName | sub-device's Model name, or NULL to keep root's name. |
|
pure virtual |
Add a VMIDILink Hybrid sub-device This kind of Local Device is acting as a local input/output port, aimed to receive and send messages from/to a pair of MIDI Out/In ports automatically created on remote computers.
A sub-device get the same identity (BrandID and ModelID) than its root, but it has a unique ModuleID that must be <>0. Brand name and Model name can be customized if needed.
[in] | wModuleID | A unique non-zero ModuleID identifying the sub-device. |
[in] | extDevCaps | sub-device's extended capabilities |
[in] | utf8PortName | The port name |
|
pure virtual |
Add a VMIDILink In sub-device This kind of Local Device is acting as a local input port, aimed to receive messages from a MIDI Out port automatically created on remote computers.
A sub-device get the same identity (BrandID and ModelID) than its root, but it has a unique ModuleID that must be <>0. Brand name and Model name can be customized if needed.
[in] | wModuleID | A unique non-zero ModuleID identifying the sub-device. |
[in] | utf8PortName | The port name |
|
pure virtual |
Add a VMIDILink Out sub-device.
This kind of Local Device is acting as a local output port, aimed to send messages to a MIDI In port automatically created on remote computers. A sub-device get the same identity (BrandID and ModelID) than its root, but it has a unique ModuleID that must be <>0. Brand name and Model name can be customized if needed.
[in] | wModuleID | A unique non-zero ModuleID identifying the sub-device. |
[in] | utf8PortName | The port name |
|
pure virtual |
Remove all controllers.
|
pure virtual |
Remove all inputs and associated data (parameter definition)
|
pure virtual |
Remove all outputs and associated data (controller definition)
|
pure virtual |
Remove all pipes.
|
pure virtual |
Get the first Controller.
|
pure virtual |
Get the first Input.
|
pure virtual |
Get the first Output.
|
pure virtual |
Get the first Pipe.
|
pure virtual |
Get the last Controller.
|
pure virtual |
Get the last Input.
|
pure virtual |
Get the last Output.
|
pure virtual |
Get the next Controller.
[in] | wControllerID | previous Controller ID |
|
pure virtual |
Get the next Input.
[in] | wInputID | previous Input ID |
|
pure virtual |
Get the next Output.
[in] | wOutputID | previous Output ID |
|
pure virtual |
Get the next Pipe.
[in] | wPipeID | previous Pipe ID |
|
pure virtual |
Get the prev Controller.
[in] | wControllerID | previous Controller ID |
|
pure virtual |
Get the prev Input.
[in] | wInputID | previous Input ID |
|
pure virtual |
Get the prev Output.
[in] | wOutputID | previous Output ID |
|
pure virtual |
This can be used to notify connected Output that they should suspend or resume sending.
This is overriding the automatic flow control behavior. This method is offering the same functionality as CPNS::ICHAI::FlowControl.
[in] | fSuspend | TRUE if the connected Outputs should suspend sending |
|
pure virtual |
Flush all outputs.
|
pure virtual |
Get the Brand name.
|
pure virtual |
Get the specified Controller.
[in] | wControllerID | requested Controller ID |
|
pure virtual |
Get the Custom name.
|
pure virtual |
Get the consolidated capabilities of the device and its children.
|
pure virtual |
Get the DeviceID.
|
pure virtual |
Get the duplicate mode.
|
pure virtual |
Get the extended caps.
|
pure virtual |
Get the extended device capabilities.
|
pure virtual |
Get the first sub-device.
|
pure virtual |
Check LocalDevice type and return an IAudioLanLocalDevice object pointer if type match.
|
pure virtual |
Check LocalDevice type and return an ICP2MIDILocalDevice object pointer if type match.
|
pure virtual |
Check LocalDevice type and return an IHybridMIDILocalDevice object pointer if type match.
|
pure virtual |
Check LocalDevice type and return an ILocalDevice object pointer if type match.
|
pure virtual |
Check LocalDevice type and return an IMIDI2CPLocalDevice object pointer if type match.
|
pure virtual |
Get the consolidated Input capabilities of the device and its children.
|
pure virtual |
Get the specified Input.
[in] | wInputID | requested Input ID |
|
pure virtual |
Get internal snapshot data.
This buffer contains destination related to visible and not locked Outputs. The expected buffer size can be determined using GetInternalSnapshotDataSize().
[in] | pData | the buffer receiving a copy of the internal snapshot data. |
[in] | dwSize | the buffer size. |
|
pure virtual |
Get the buffer size needed to store this device's internal snapshot data.
This buffer contains destination related to visible and not locked Outputs.
|
pure virtual |
Check LocalDevice type and return an ISharedDisplayClientLocalDevice object pointer if type match.
|
pure virtual |
Check LocalDevice type and return an ISharedDisplayLocalDevice object pointer if type match.
|
pure virtual |
Check LocalDevice type and return an IHybridVMIDILinkLocalDevice object pointer if type match.
|
pure virtual |
Check LocalDevice type and return an IInVMIDILinkLocalDevice object pointer if type match.
|
pure virtual |
Check LocalDevice type and return an IOutVMIDILinkLocalDevice object pointer if type match.
|
pure virtual |
Get the Model name.
|
pure virtual |
Get the specified name.
[in] | format | the requested name type |
|
pure virtual |
Get next sibling device.
|
pure virtual |
Get the number of Controller.
|
pure virtual |
Get the number of Inputs.
|
pure virtual |
Get the number of Outputs.
|
pure virtual |
Get the number of Pipes.
|
pure virtual |
Get the consolidated Output capabilities of the device and its children.
|
pure virtual |
Get the specified Output.
[in] | wOutputID | requested Output ID |
|
pure virtual |
Get the device capabilities.
|
pure virtual |
Get the Input capabilities.
|
pure virtual |
Get the Output capabilities.
|
pure virtual |
Get parent device.
|
pure virtual |
Get the parent DeviceID.
|
pure virtual |
Get the path.
|
pure virtual |
Get the specified Pipe.
[in] | wPipeID | requested Pipe ID |
|
pure virtual |
Get the custom name for the specified section type.
[in] | sectionID | The section ID |
|
pure virtual |
Check if the local device is or is child of another one.
|
pure virtual |
Check if learning mode is active for one of this Device's Controllers.
|
pure virtual |
Leave learning mode if one of this Device's Controller is currently learning.
On success, the notification handler ICHAI_NotificationHandler::OnCHAI_Notification is called signaling CPNS::Enums::CNT_GlobalLearningModeLeaved
|
pure virtual |
Register a Local Device notification handler.
The LocalDevice's notification handler is used to send information to the application, such as status or duplicate change...
[in] | pHandler | Pointer to the application object implementing IBaseLocalDevice_NotificationHandler. If pHandler is NULL, clear all registered handlers. |
|
pure virtual |
Register a Signal reception notification handler.
[in] | pHandler | Pointer to the application object implementing IBaseLocalDevice_SignalNotificationHandler Clear all registered handlers if pHandler is NULL. |
|
pure virtual |
Invalid Request Call this to terminate a Request if no valid return can be done.
[in] | wRequestID | the Request ID provided by the Request Notification Handler |
|
pure virtual |
Reply to a snapshot data collect request Call this to terminate a IBaseLocalDevice_SnapshotNotificationHandler::OnBaseLocalDevice_RequestCollectSnapshotData call.
[in] | wRequestID | the Request ID provided by the Request Notification Handler |
[in] | priority | the restore priority for this type of data block. Must be the same for the whole data related to the requested type. |
[in] | dwContextData | Context data related to the collected device, to be send back during next block collect. Can be used by the application as a session handling data sent back by during the request for next block. |
[in] | wBlockSize | Block size. Must be <= notification handler's wMaxBlockSize argument. |
[in] | fLastBlock | TRUE if it is the last block |
[in] | pBlockData | pointer to the data block. |
|
pure virtual |
Reply to a snapshot data restore request Call this to terminate a IBaseLocalDevice_SnapshotNotificationHandler::OnBaseLocalDevice_RequestRestoreSnapshotData call.
[in] | wRequestID | the Request ID provided by the Request Notification Handler |
[in] | returnCode | return code to be transmitted to the remote device |
[in] | dwContextData | Context data related to the collected device, to be send back during next block collect. Can be used by the application as a session handling data sent back by during the request for next block. |
|
pure virtual |
Restore internal snapshot data.
This is restoring the connections described into the buffer.
[in] | pData | the buffer receiving a copy of the internal snapshot data. |
[in] | dwSize | the buffer size. |
|
pure virtual |
Set the Custom name If not empty, the custom name override the default name.
[in] | utf8CustomName | the new custom name, or NULL to remove custom name. |
|
pure virtual |
Enable/disable the automatic deletion of disabled destination after 60 seconds.
Default status is OFF.
[in] | fAutoDelete | if TRUE, lost destinations are automatically deleted after 60 seconds |
|
pure virtual |
Enable/disable the internal snapshot capability for this device and optionally its descendants By default it is enabled for device hosting outputs, for outputs hosting controllers, and for inputs hosting parameters.
[in] | fDisabled | If TRUE, the internal snapshot is disabled for this device. Use default behavior if FALSE. |
[in] | fAlsoForChildren | set this status along the children tree. |
|
pure virtual |
Set the device's extended caps.
|
pure virtual |
Set a numeric device property.
[in] | wPropertyNum | the property number. See CPNS::Enums::DeviceProperties. |
[in] | qwValue | the property value |
|
pure virtual |
Set a custom name for the specified section.
[in] | sectionID | The section ID |
[in] | utf8Name | The name |
|
pure virtual |
Set a Local Device notification handler for Smart Connect, Target side.
This notification handler is used to query information about parameters. Only one SmartConnect Target notification handler can be set for a Device!
[in] | pHandler | Pointer to the application object implementing IBaseLocalDevice_SmartConnectTargetNotificationHandler. If pHandler is NULL, clear all registered handlers. |
|
pure virtual |
Set a Local Device Snapshot notification handler.
The LocalDevice's Snapshot notification handler is used to query/restore snapshot data. Only one Snapshot notification handler can be set for a Device!
[in] | pHandler | Pointer to the application object implementing IBaseLocalDevice_SnapshotNotificationHandler. If pHandler is NULL, clear all registered handlers. |
|
pure virtual |
Set a text device property.
[in] | wPropertyNum | the property number. See CPNS::Enums::DeviceProperties. |
[in] | utf8Value | the property value |
|
pure virtual |
Change device visibility.
[in] | fHidden | TRUE if the device should be hidden |
|
pure virtual |
Send a broadcast signal to all devices.
[in] | wSignalNumber | Standard Signal numbers are available from CPNS::Enums::Signals |
[in] | wOptionalData0 | Optional value, depending on the signal number |
[in] | wOptionalData1 | Optional value, depending on the signal number |
[in] | wOptionalData2 | Optional value, depending on the signal number |
[in] | wOptionalData3 | Optional value, depending on the signal number |
[in] | utf8OptionalData | Optional value, depending on the signal number |
[in] | optionalEndpoint | Optional value, depending on the signal number |
|
pure virtual |
Send a directed signal to the specified device.
[in] | devID | Target Device ID |
[in] | wSignalNumber | Standard Signal numbers are available from CPNS::Enums::Signals |
[in] | wOptionalData0 | Optional value, depending on the signal number |
[in] | wOptionalData1 | Optional value, depending on the signal number |
[in] | wOptionalData2 | Optional value, depending on the signal number |
[in] | wOptionalData3 | Optional value, depending on the signal number |
[in] | utf8OptionalData | Optional value, depending on the signal number |
[in] | optionalEndpoint | Optional value, depending on the signal number |
|
pure virtual |
Assign the specified controller to a target parameter.
To be called from the SmartConnect target state engine.
[in] | wSessionID | the SmartConnect session ID |
[in] | devID | the device hosting the controller. The DevID must be compliant with the section hosting the controller. (see CPNS::SmartConnectSectionItem). |
[in] | wControllerID | the controller ID |
[in] | assignment | the new assignment |
|
pure virtual |
Assign the specified source section to a target input.
To be called from the SmartConnect target state engine.
[in] | wSessionID | the SmartConnect session ID |
[in] | devID | the device hosting the output. The DevID must be compliant with the requested section. (see CPNS::SmartConnectSectionItem). |
[in] | sectionID | the section ID identifying the output to be connected. |
[in] | targetEndpoint | the target endpoint |
|
pure virtual |
Close the SmartConnect session To be called from the SmartConnect target side.
[in] | wSessionID | the SmartConnect session ID |
[in] | errCode | error code to be notified to the SmartConnect initiator. |
|
pure virtual |
Query the SmartConnect source side to reply the controller list related to the specified section instance.
To be called from the SmartConnect target state engine.
[in] | wSessionID | the SmartConnect session ID |
[in] | devID | the queried source. The DevID must be compliant with the requested section. (see CPNS::SmartConnectSectionItem). |
[in] | sectionID | the section ID |
|
pure virtual |
Query the SmartConnect source side to clear its controller assignments and to reply the consolidated section list.
To be called from the SmartConnect target state engine.
[in] | wSessionID | the SmartConnect session ID |
[in] | devID | the queried source. The DevID must be compliant with the source device list provided by CPNS::OnBaseLocalDevice_SmartConnectTarget_Started |
|
pure virtual |
Unassign all controllers and clear connections for all related Outputs.
[in] | fAlsoForChildren | process also the children sub-devices if TRUE |
|
pure virtual |
Unregister a Local Device notification handler.
[in] | pHandler | Pointer to the application object implementing IBaseLocalDevice_NotificationHandler. If pHandler is NULL, clear all registered handlers. |
|
pure virtual |
Unregister a Signal reception notification handler.
[in] | pHandler | Pointer to the application object implementing IBaseLocalDevice_SignalNotificationHandler Clear all registered handlers if pHandler is NULL. |