CHAI SDK
Version 1.3
|
This is a generic purpose local device. More...
Public Member Functions | |
virtual | operator CPNS::IBaseLocalDevice * () const =0 |
Public Member Functions inherited from CPNS::IBaseLocalDevice | |
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... | |
This is a generic purpose local device.