diff --git a/definitions/Definitions.cpp b/definitions/Definitions.cpp index 9b690c39..7d5ee9e6 100644 --- a/definitions/Definitions.cpp +++ b/definitions/Definitions.cpp @@ -108,7 +108,6 @@ struct ScreenResolutionWidthHeight { ScreenResolutionWidthHeight resolutionWidthHeightTable[] = { - { Exchange::IDeviceVideoCapabilities::ScreenResolution_Unknown, 0, 0, 0 }, { Exchange::IDeviceVideoCapabilities::ScreenResolution_480i, 640, 480, 60000 }, { Exchange::IDeviceVideoCapabilities::ScreenResolution_480p, 640, 480, 60000 }, { Exchange::IDeviceVideoCapabilities::ScreenResolution_576i, 1024, 576, 60000 }, @@ -170,85 +169,6 @@ ENUM_CONVERSION_BEGIN(Exchange::IBrightness::Brightness) { Exchange::IBrightness::SdrToHdrGraphicsBrightness_Max, _TXT("max") }, ENUM_CONVERSION_END(Exchange::IBrightness::Brightness) -ENUM_CONVERSION_BEGIN(Exchange::IDeviceAudioCapabilities::AudioOutput) - { Exchange::IDeviceAudioCapabilities::AudioOutput::AUDIO_OTHER, _TXT("OTHER") }, - { Exchange::IDeviceAudioCapabilities::AudioOutput::AUDIO_ANALOG, _TXT("ANALOG") }, - { Exchange::IDeviceAudioCapabilities::AudioOutput::AUDIO_DISPLAYPORT, _TXT("DISPLAYPORT") }, - { Exchange::IDeviceAudioCapabilities::AudioOutput::AUDIO_HDMI0, _TXT("HDMI0") }, - { Exchange::IDeviceAudioCapabilities::AudioOutput::AUDIO_HDMI1, _TXT("HDMI1") }, - { Exchange::IDeviceAudioCapabilities::AudioOutput::AUDIO_RF_MODULATOR, _TXT("RF_MODULATOR") }, - { Exchange::IDeviceAudioCapabilities::AudioOutput::AUDIO_SPDIF, _TXT("SPDIF0") }, -ENUM_CONVERSION_END(Exchange::IDeviceAudioCapabilities::AudioOutput) - -ENUM_CONVERSION_BEGIN(Exchange::IDeviceAudioCapabilities::AudioCapability) - { Exchange::IDeviceAudioCapabilities::AudioCapability::AUDIOCAPABILITY_NONE, _TXT("audiocapability_none") }, - { Exchange::IDeviceAudioCapabilities::AudioCapability::ATMOS, _TXT("atmos") }, - { Exchange::IDeviceAudioCapabilities::AudioCapability::DD, _TXT("dd") }, - { Exchange::IDeviceAudioCapabilities::AudioCapability::DDPLUS, _TXT("ddplus") }, - { Exchange::IDeviceAudioCapabilities::AudioCapability::DAD, _TXT("dad") }, - { Exchange::IDeviceAudioCapabilities::AudioCapability::DAPV2, _TXT("dapv2") }, - { Exchange::IDeviceAudioCapabilities::AudioCapability::MS12, _TXT("ms12") }, -ENUM_CONVERSION_END(Exchange::IDeviceAudioCapabilities::AudioCapability) - -ENUM_CONVERSION_BEGIN(Exchange::IDeviceAudioCapabilities::MS12Capability) - { Exchange::IDeviceAudioCapabilities::MS12Capability::MS12CAPABILITY_NONE, _TXT("ms12capability_none") }, - { Exchange::IDeviceAudioCapabilities::MS12Capability::DOLBYVOLUME, _TXT("dolbyvolume") }, - { Exchange::IDeviceAudioCapabilities::MS12Capability::INTELIGENTEQUALIZER, _TXT("inteligentequalizer") }, - { Exchange::IDeviceAudioCapabilities::MS12Capability::DIALOGUEENHANCER, _TXT("dialogueenhancer") }, -ENUM_CONVERSION_END(Exchange::IDeviceAudioCapabilities::MS12Capability) - -ENUM_CONVERSION_BEGIN(Exchange::IDeviceAudioCapabilities::MS12Profile) - { Exchange::IDeviceAudioCapabilities::MS12Profile::MS12PROFILE_NONE, _TXT("ms12profile_none") }, - { Exchange::IDeviceAudioCapabilities::MS12Profile::MUSIC, _TXT("music") }, - { Exchange::IDeviceAudioCapabilities::MS12Profile::MOVIE, _TXT("movie") }, - { Exchange::IDeviceAudioCapabilities::MS12Profile::VOICE, _TXT("voice") }, -ENUM_CONVERSION_END(Exchange::IDeviceAudioCapabilities::MS12Profile) - -ENUM_CONVERSION_BEGIN(Exchange::IDeviceVideoCapabilities::VideoOutput) - { Exchange::IDeviceVideoCapabilities::VideoOutput::VIDEO_COMPONENT, _TXT("COMPONENT") }, - { Exchange::IDeviceVideoCapabilities::VideoOutput::VIDEO_COMPOSITE, _TXT("COMPOSITE") }, - { Exchange::IDeviceVideoCapabilities::VideoOutput::VIDEO_DISPLAYPORT, _TXT("DISPLAYPORT") }, - { Exchange::IDeviceVideoCapabilities::VideoOutput::VIDEO_HDMI0, _TXT("HDMI0") }, - { Exchange::IDeviceVideoCapabilities::VideoOutput::VIDEO_HDMI1, _TXT("HDMI1") }, - { Exchange::IDeviceVideoCapabilities::VideoOutput::VIDEO_OTHER, _TXT("OTHER") }, - { Exchange::IDeviceVideoCapabilities::VideoOutput::VIDEO_RF_MODULATOR, _TXT("RF_MODULATOR") }, - { Exchange::IDeviceVideoCapabilities::VideoOutput::VIDEO_SCART_RGB, _TXT("SCART_RGB") }, - { Exchange::IDeviceVideoCapabilities::VideoOutput::VIDEO_SVIDEO, _TXT("SVIDEO") }, -ENUM_CONVERSION_END(Exchange::IDeviceVideoCapabilities::VideoOutput) - -ENUM_CONVERSION_BEGIN(Exchange::IDeviceVideoCapabilities::ScreenResolution) - { Exchange::IDeviceVideoCapabilities::ScreenResolution_Unknown, _TXT("Unknown") }, - { Exchange::IDeviceVideoCapabilities::ScreenResolution_480i, _TXT("480i") }, - { Exchange::IDeviceVideoCapabilities::ScreenResolution_480p, _TXT("480p") }, - { Exchange::IDeviceVideoCapabilities::ScreenResolution_576i, _TXT("576i") }, - { Exchange::IDeviceVideoCapabilities::ScreenResolution_576p, _TXT("576p") }, - { Exchange::IDeviceVideoCapabilities::ScreenResolution_576p50Hz, _TXT("576p50") }, - { Exchange::IDeviceVideoCapabilities::ScreenResolution_720p, _TXT("720p") }, - { Exchange::IDeviceVideoCapabilities::ScreenResolution_720p50Hz, _TXT("720p50") }, - { Exchange::IDeviceVideoCapabilities::ScreenResolution_1080i ,_TXT("1080i") }, - { Exchange::IDeviceVideoCapabilities::ScreenResolution_1080i25Hz ,_TXT("1080i25") }, - { Exchange::IDeviceVideoCapabilities::ScreenResolution_1080i50Hz ,_TXT("1080i50") }, - { Exchange::IDeviceVideoCapabilities::ScreenResolution_1080p ,_TXT("1080p") }, - { Exchange::IDeviceVideoCapabilities::ScreenResolution_1080p24Hz, _TXT("1080p24") }, - { Exchange::IDeviceVideoCapabilities::ScreenResolution_1080p25Hz, _TXT("1080p25") }, - { Exchange::IDeviceVideoCapabilities::ScreenResolution_1080p30Hz, _TXT("1080p30") }, - { Exchange::IDeviceVideoCapabilities::ScreenResolution_1080p50Hz, _TXT("1080p50") }, - { Exchange::IDeviceVideoCapabilities::ScreenResolution_1080p60Hz, _TXT("1080p60") }, - { Exchange::IDeviceVideoCapabilities::ScreenResolution_2160p30Hz, _TXT("2160p30") }, - { Exchange::IDeviceVideoCapabilities::ScreenResolution_2160p50Hz, _TXT("2160p50") }, - { Exchange::IDeviceVideoCapabilities::ScreenResolution_2160p60Hz, _TXT("2160p60") }, - { Exchange::IDeviceVideoCapabilities::ScreenResolution_4320p30Hz, _TXT("4320p30") }, - { Exchange::IDeviceVideoCapabilities::ScreenResolution_4320p60Hz, _TXT("4320p60") }, -ENUM_CONVERSION_END(Exchange::IDeviceVideoCapabilities::ScreenResolution) - -ENUM_CONVERSION_BEGIN(Exchange::IDeviceVideoCapabilities::CopyProtection) - { Exchange::IDeviceVideoCapabilities::CopyProtection::HDCP_UNAVAILABLE, _TXT("unavailable") }, - { Exchange::IDeviceVideoCapabilities::CopyProtection::HDCP_14, _TXT("1.4") }, - { Exchange::IDeviceVideoCapabilities::CopyProtection::HDCP_20, _TXT("2.0") }, - { Exchange::IDeviceVideoCapabilities::CopyProtection::HDCP_21, _TXT("2.1") }, - { Exchange::IDeviceVideoCapabilities::CopyProtection::HDCP_22, _TXT("2.2") }, -ENUM_CONVERSION_END(Exchange::IDeviceVideoCapabilities::CopyProtection) - ENUM_CONVERSION_BEGIN(Exchange::IValuePoint::basic) { Exchange::IValuePoint::basic::regulator, _TXT("regulator") }, { Exchange::IValuePoint::basic::measurement, _TXT("measurment") }, diff --git a/definitions/Definitions.vcxproj b/definitions/Definitions.vcxproj index aa5b652b..3016455e 100644 --- a/definitions/Definitions.vcxproj +++ b/definitions/Definitions.vcxproj @@ -28,7 +28,9 @@ + + @@ -51,6 +53,7 @@ + @@ -206,6 +209,20 @@ $(ProjectDir)../interfaces/json/JIOConnector.h $(ProjectDir)../interfaces/json/JIOConnector.h + + python "$(ToolPath)\JsonGenerator\JsonGenerator.py" -I "$(FrameworkPath)\" -I "$(ProjectDir)\" --keep-empty --case-convention legacy -c -j "$(ProjectDir)../interfaces" -o "$(ProjectDir)../interfaces/json" "%(FullPath)" --force + ClInclude + python "$(ToolPath)\JsonGenerator\JsonGenerator.py" -I "$(FrameworkPath)\" -I "$(ProjectDir)\" --keep-empty --case-convention legacy -c -j "$(ProjectDir)../interfaces" -o "$(ProjectDir)../interfaces/json" "%(FullPath)" --force + ClInclude + python "$(ToolPath)\JsonGenerator\JsonGenerator.py" -I "$(FrameworkPath)\" -I "$(ProjectDir)\" --keep-empty --case-convention legacy -c -j "$(ProjectDir)../interfaces" -o "$(ProjectDir)../interfaces/json" "%(FullPath)" --force + ClInclude + python "$(ToolPath)\JsonGenerator\JsonGenerator.py" -I "$(FrameworkPath)\" -I "$(ProjectDir)\" --keep-empty --case-convention legacy -c -j "$(ProjectDir)../interfaces" -o "$(ProjectDir)../interfaces/json" "%(FullPath)" --force + ClInclude + $(ProjectDir)../interfaces/json/JDeviceInfo.h + $(ProjectDir)../interfaces/json/JDeviceInfo.h + $(ProjectDir)../interfaces/json/JDeviceInfo.h + $(ProjectDir)../interfaces/json/JDeviceInfo.h + $(ProjectDir)../interfaces/json/JMath.h @@ -367,9 +384,6 @@ Document - - Document - Document diff --git a/definitions/Definitions.vcxproj.filters b/definitions/Definitions.vcxproj.filters index 54122634..6ce08ddc 100644 --- a/definitions/Definitions.vcxproj.filters +++ b/definitions/Definitions.vcxproj.filters @@ -79,9 +79,6 @@ Generated Files - - Generated Files - Generated Files @@ -121,6 +118,15 @@ Generated Files + + Generated Files + + + Generated Files + + + Generated Files + @@ -149,9 +155,6 @@ JSON Files - - JSON Files - JSON Files @@ -230,9 +233,6 @@ JSON Files - - JSON Files - JSON Files @@ -260,6 +260,10 @@ Interface Files + + + Interface Files + diff --git a/interfaces/IDeviceInfo.h b/interfaces/IDeviceInfo.h index 8410b80e..f213ebdf 100644 --- a/interfaces/IDeviceInfo.h +++ b/interfaces/IDeviceInfo.h @@ -24,60 +24,123 @@ // @stubgen:include namespace Thunder { + namespace Exchange { + // @json 1.0.0 @text:legacy_lowercase struct EXTERNAL IDeviceInfo : virtual public Core::IUnknown { + enum { ID = ID_DEVICE_INFO }; - virtual ~IDeviceInfo() override = default; + enum Type : uint8_t { + TV, + IP_STB, + QAM_IP_STB, + HYBRID, + MEDIA_CLIENT + }; + + struct FirmwareInfo { + string imageName /* @brief Name of firmware image (e.g. PX051AEI_VBN_2203_sprint_20220331225312sdy_NG) */; + Core::OptionalType sdk /* @brief SDK version string (e.g. 17.3) */; + Core::OptionalType mediarite /* @brief Mediarite value (e.g. 8.3.53) */; + Core::OptionalType build /* @brief Yocto version (e.g. dunfell) */; + }; + + // @property + // @brief Device serial number + // @param value: Serial number set by manufacturer (e.g. PAW400003744) + // @retval ERROR_UNAVAILABLE: Information about the serial number of the device is not available + virtual Core::hresult SerialNumber(string& value /* @out */) const = 0; + + // @property + // @brief Device model number or stock keeping unit (SKU) + // @param value: Model number or SKU of the device (e.g. PX051AEI) + // @retval ERROR_UNAVAILABLE: Information about the model number or SKU of the device is not available + virtual Core::hresult ModelID(string& value /* @out */) const = 0; + + // @property + // @brief Device manufacturer + // @param value: Manufacturer of the device (e.g. pace) + // @retval ERROR_UNAVAILABLE: Information about the manufacturer of the device is not available + virtual Core::hresult Make(string& value /* @out */) const = 0; + + // @property + // @brief Device model name + // @param value: Model name of the device (e.g. Pace Xi5) + // @reval ERROR_UNAVAILABLE: Information about the model name of the device is not available + virtual Core::hresult ModelName(string& value /* @out */) const = 0; + + // @property + // @brief Device model year + // @param value: Year of the model (e.g. 2020) + // @retval ERROR_UNAVAILABLE: Information about the model year of the device is not available + virtual Core::hresult ModelYear(uint16_t& value /* @out */) const = 0; + + // @property + // @brief Device friendly name + // @param value: Friendly name of the device (e.g. My Device) + // @retval ERROR_UNAVAILABLE: Information about the friendly name of the device is not available + virtual Core::hresult FriendlyName(string& value /* @out */) const = 0; + + // @property + // @brief Device type + // @param value: Type of the device (e.g. IP_STB) + // @retval ERROR_UNAVAILABLE: Information about a type of the device is not available + // @retval ERROR_UNKNOWN_KEY: The device type is not recognized + virtual Core::hresult DeviceType(Type& value /* @out */) const = 0; - virtual uint32_t Configure(const PluginHost::IShell* service) = 0; + // @property + // @brief Device platform name + // @param value: Platform name of the device (e.g. Linux) + // @retval ERROR_UNAVAILABLE: Information about the platform name of the device is not available + virtual Core::hresult PlatformName(string& value /* @out */) const = 0; - virtual uint32_t SerialNumber(string& value /* @out */) const = 0; - virtual uint32_t Sku(string& value /* @out */) const = 0; - virtual uint32_t Make(string& value /* @out */) const = 0; - virtual uint32_t ModelName(string& value/*@out*/) const = 0; - virtual uint32_t ModelYear(uint16_t& value/*@out*/) const = 0; - virtual uint32_t FriendlyName(string& value/*@out*/) const = 0; - virtual uint32_t DeviceType(string& value /* @out */) const = 0; - virtual uint32_t PlatformName(string& value/*@out*/) const = 0; - virtual uint32_t DistributorId(string& value /* @out */) const = 0; + // @property + // @brief Partner ID or distributor ID for device + // @param value: Partner ID or distributor ID for device (e.g. Comcast) + // @retval ERROR_UNAVAILABLE: Information about the distributor ID of the device is not available + virtual Core::hresult DistributorID(string& value /* @out */) const = 0; + + // @property + // @alt:deprecated firmwareversion + // @brief Versions maintained in version.txt + // @param value: Name of the firmware image and its specific versions + // @retval ERROR_UNAVAILABLE: Information about the firmware version is not available + virtual Core::hresult Firmware(FirmwareInfo& value /* @out */) const = 0; }; + // @json 1.0.0 @text:legacy_lowercase struct EXTERNAL IDeviceAudioCapabilities : virtual public Core::IUnknown { - enum { ID = ID_DEVICE_CAPABILITIES_AUDIO }; - virtual ~IDeviceAudioCapabilities() override = default; + enum { ID = ID_DEVICE_CAPABILITIES_AUDIO }; enum AudioOutput : uint8_t { - AUDIO_OTHER, - AUDIO_RF_MODULATOR, - AUDIO_ANALOG, - AUDIO_SPDIF, //over RCA or TOSLINK - AUDIO_HDMI0, - AUDIO_HDMI1, - AUDIO_DISPLAYPORT + OTHER, + RF_MODULATOR, + ANALOG, + SPDIF, //over RCA or TOSLINK + HDMI_0, + HDMI_1, + DISPLAY_PORT }; enum AudioCapability : uint8_t { - AUDIOCAPABILITY_NONE, ATMOS, DD, - DDPLUS, + DD_PLUS, DAD, - DAPV2, - MS12 + DAP_V2, + MS_12 }; enum MS12Capability : uint8_t { - MS12CAPABILITY_NONE, - DOLBYVOLUME, - INTELIGENTEQUALIZER, - DIALOGUEENHANCER + DOLBY_VOLUME, + INTELIGENT_EQUALIZER, + DIALOGUE_ENHANCER }; enum MS12Profile : uint8_t { - MS12PROFILE_NONE, MUSIC, MOVIE, VOICE @@ -88,56 +151,79 @@ namespace Exchange { typedef RPC::IIteratorType IMS12CapabilityIterator; typedef RPC::IIteratorType IMS12ProfileIterator; - virtual uint32_t AudioOutputs(IAudioOutputIterator*& audioOutputs /* @out */) const = 0; - virtual uint32_t AudioCapabilities(const AudioOutput audioOutput /* @in */, IAudioCapabilityIterator*& audioCapabilities /* @out */) const = 0; - virtual uint32_t MS12Capabilities(const AudioOutput audioOutput /* @in */, IMS12CapabilityIterator*& ms12Capabilities /* @out */) const = 0; - virtual uint32_t MS12AudioProfiles(const AudioOutput audioOutput /* @in */, IMS12ProfileIterator*& ms12Profiles /* @out */) const = 0; + // @property + // @alt:deprecated supportedaudioports + // @brief Audio ports supported on the device (all ports that are physically present + // @param audioOutputs: An array of audio outputs supported by the device + // @retval ERROR_GENERAL: General error + virtual Core::hresult AudioOutputs(IAudioOutputIterator*& audioOutputs /* @out */) const = 0; + + // @property + // @brief Audio capabilities for the specified audio port + // @param audioOutput: Audio output supported by the device + // @param audioCapabilities: An array of audio capabilities supported by specified port + // @retval ERROR_GENERAL: General error + virtual Core::hresult AudioCapabilities(const AudioOutput audioOutput /* @index */, IAudioCapabilityIterator*& audioCapabilities /* @out */) const = 0; + + // @property + // @brief Audio ms12 capabilities for the specified audio port + // @param audioOutput: Audio output supported by the device + // @param ms12Capabilities: An array of MS12 audio capabilities supported by specified port + // @retval ERROR_GENERAL: General error + virtual Core::hresult MS12Capabilities(const AudioOutput audioOutput /* @index */, IMS12CapabilityIterator*& ms12Capabilities /* @out */) const = 0; + + // @property + // @alt:deprecated supportedms12audioprofiles + // @brief Audio ms12 profiles for the specified audio port + // @param audioOutput: Audio output supported by the device + // @param ms12Profiles: An array of MS12 audio profiles supported by specified port + // @retval ERROR_GENERAL: General error + virtual Core::hresult MS12AudioProfiles(const AudioOutput audioOutput /* @index */, IMS12ProfileIterator*& ms12Profiles /* @out */) const = 0; }; + // @json 1.0.0 @text:legacy_lowercase struct EXTERNAL IDeviceVideoCapabilities : virtual public Core::IUnknown { - enum { ID = ID_DEVICE_CAPABILITIES_VIDEO }; - virtual ~IDeviceVideoCapabilities() override = default; + enum { ID = ID_DEVICE_CAPABILITIES_VIDEO }; enum VideoOutput : uint8_t { - VIDEO_OTHER, - VIDEO_RF_MODULATOR, - VIDEO_COMPOSITE, // also composite over SCART - VIDEO_SVIDEO, - VIDEO_COMPONENT, - VIDEO_SCART_RGB, - VIDEO_HDMI0, - VIDEO_HDMI1, - VIDEO_DISPLAYPORT // also DisplayPort over USB-C + OTHER, + RF_MODULATOR, + COMPOSITE, // also composite over SCART + S_VIDEO, + COMPONENT, + SCART_RGB, + HDMI_0, + HDMI_1, + DISPLAY_PORT // also DisplayPort over USB-C }; enum ScreenResolution : uint8_t { - ScreenResolution_Unknown = 0, - ScreenResolution_480i = 1, - ScreenResolution_480p = 2, - ScreenResolution_576i = 3, - ScreenResolution_576p = 4, - ScreenResolution_576p50Hz = 5, - ScreenResolution_720p = 6, - ScreenResolution_720p50Hz = 7, - ScreenResolution_1080i = 8, - ScreenResolution_1080i25Hz = 9, - ScreenResolution_1080i50Hz = 10, - ScreenResolution_1080p = 11, - ScreenResolution_1080p24Hz = 12, - ScreenResolution_1080p25Hz = 13, - ScreenResolution_1080p30Hz = 14, - ScreenResolution_1080p50Hz = 15, - ScreenResolution_1080p60Hz = 16, - ScreenResolution_2160p30Hz = 17, - ScreenResolution_2160p50Hz = 18, - ScreenResolution_2160p60Hz = 19, - ScreenResolution_4320p30Hz = 20, - ScreenResolution_4320p60Hz = 21 + ScreenResolution_Unknown, + ScreenResolution_480i, + ScreenResolution_480p, + ScreenResolution_576i, + ScreenResolution_576p, + ScreenResolution_576p50Hz, + ScreenResolution_720p, + ScreenResolution_720p50Hz, + ScreenResolution_1080i, + ScreenResolution_1080i25Hz, + ScreenResolution_1080i50Hz, + ScreenResolution_1080p, + ScreenResolution_1080p24Hz, + ScreenResolution_1080p25Hz, + ScreenResolution_1080p30Hz, + ScreenResolution_1080p50Hz, + ScreenResolution_1080p60Hz, + ScreenResolution_2160p30Hz, + ScreenResolution_2160p50Hz, + ScreenResolution_2160p60Hz, + ScreenResolution_4320p30Hz, + ScreenResolution_4320p60Hz }; enum CopyProtection : uint8_t { - HDCP_UNAVAILABLE, HDCP_14, HDCP_20, HDCP_21, @@ -147,14 +233,140 @@ namespace Exchange { typedef RPC::IIteratorType IVideoOutputIterator; typedef RPC::IIteratorType IScreenResolutionIterator; - virtual uint32_t VideoOutputs(IVideoOutputIterator*& videoOutputs /* @out */) const = 0; - virtual uint32_t DefaultResolution(const VideoOutput videoOutput /* @in */, ScreenResolution& defaultResolution /* @out */) const = 0; - virtual uint32_t Resolutions(const VideoOutput videoOutput /* @in */, IScreenResolutionIterator*& resolutions /* @out */) const = 0; - virtual uint32_t Hdcp(const VideoOutput videoOutput /* @in */, CopyProtection& hdcpVersion /* @out */) const = 0; - virtual uint32_t HostEDID(string& edid /* @out */) const = 0; - virtual uint32_t HDR(bool& supportsHDR /*@out*/) const = 0; - virtual uint32_t Atmos(bool& supportsAtmos /*@out*/) const = 0; - virtual uint32_t CEC(bool& supportsCEC /*@out*/) const = 0; + // @property + // @alt:deprecated supportedvideoports + // @brief Video ports supported on the device (all ports that are physically present) + // @param videoOutputs: An array of video outputs supported by the device + // @retval ERROR_GENERAL: General error + virtual Core::hresult VideoOutputs(IVideoOutputIterator*& videoOutputs /* @out */) const = 0; + + // @property + // @brief Default resolution for the specified video output + // @param videoOutput: Video output supported by the device + // @param defaultResolution: Default resolution supported by specified port + // @retval ERROR_UNKNOWN_KEY: Provided video output is not recognized + virtual Core::hresult DefaultResolution(const VideoOutput videoOutput /* @index */, ScreenResolution& defaultResolution /* @out */) const = 0; + + // @property + // @alt:deprecated supportedresolutions + // @brief Resolutions supported by the specified video output + // @param videoOutput: Video output supported by the device + // @param resolutions: An array of resolutions supported by specified port + // @retval ERROR_UNKNOWN_KEY: Provided video output is not recognized + // @retval ERROR_GENERAL: General error + virtual Core::hresult Resolutions(const VideoOutput videoOutput /* @index */, IScreenResolutionIterator*& resolutions /* @out */) const = 0; + + // @property + // @alt:deprecated supportedhdcp + // @brief High-bandwidth Digital Content Protection (HDCP) supported by the specified video output + // @param videoOutput: Video output supported by the device + // @param hdcpVersion: HDCP version supported by specified port + // @retval ERROR_UNKNOWN_KEY: Provided video output is not recognized + virtual Core::hresult Hdcp(const VideoOutput videoOutput /* @index */, CopyProtection& hdcpVersion /* @out */) const = 0; + + // @property + // @brief Extended Display Identification Data (EDID) of the host + // @param edid: A base64 encoded byte array string representing the EDID of the host (e.g. AP///////wAQrMLQVEJTMQUdAQOANR546q11qVRNnSYPUFSlSwCBALMA0QBxT6lAgYDRwAEBVl4AoKCgKVAwIDUADighAAAaAAAA/wBNWTNORDkxVjFTQlQKAAAA/ABERUxMIFAyNDE4RAogAAAA/QAxVh1xHAAKICAgICAgARsCAxuxUJAFBAMCBxYBBhESFRMUHyBlAwwAEAACOoAYcTgtQFgsRQAOKCEAAB4BHYAYcRwWIFgsJQAOKCEAAJ6/FgCggDgTQDAgOgAOKCEAABp+OQCggDgfQDAgOgAOKCEAABoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA2A) + virtual Core::hresult HostEDID(string& edid /* @out */) const = 0; + + // @propety + // @brief HDR support by this device + // @param supportsHDR: True if device supports HDR, false otherwise + virtual Core::hresult HDR(bool& supportsHDR /* @out */) const = 0; + + // @property + // @brief Atmos support by this device + // @param supportsAtmos: True if device supports Atmos, false otherwise + virtual Core::hresult Atmos(bool& supportsAtmos /* @out */) const = 0; + + // @property + // @brief CEC support by this device + // @param supportsCEC: True if device supports CEC, false otherwise + virtual Core::hresult CEC(bool& supportsCEC /* @out */) const = 0; + }; + + // @json 1.0.0 @text:legacy_lowercase + struct EXTERNAL ISystemInfo : virtual public Core::IUnknown { + + enum { ID = ID_SYSTEM_INFO }; + + struct CPULoads { + uint8_t avg1min /* @brief avarage CPU load over the last minute (e.g. 10) */; + uint8_t avg5min /* @brief avarage CPU load over the last 5 minutes (e.g. 15) */; + uint8_t avg15min /* @brief avarage CPU load over the last 15 minutes (e.g. 20) */; + }; + + struct NetworkInterface { + string name /* @brief Name of the network interface (e.g. lo) */; + string mac /* @brief MAC address of the network interface (e.g. 00:00:00:00:00:00) */; + Core::OptionalType> ipAddresses /* @brief List of IP addresses assigned to the network interface @restrict:100 */; + }; + + struct Sockets { + Core::OptionalType total /* @brief Total number of sockets (e.g. 1024) */; + Core::OptionalType open /* @brief Number of open sockets (e.g. 512) */; + Core::OptionalType link /* @brief Number of linked sockets (e.g. 256) */; + Core::OptionalType exception /* @brief Number of exceptions (e.g. 128) */; + Core::OptionalType shutdown /* @brief Number of sockets that were shut down (e.g. 64) */; + uint32_t runs /* @brief Number of resource monitor runs (e.g. 32) */; + }; + + typedef RPC::IIteratorType INetworkInterfaceIterator; + + // @property + // @brief Software version (in form *version#hashtag*) + // param value: Software version of the device (e.g. 1.0#14452f612c3747645d54974255d11b8f3b4faa54) + virtual Core::hresult Version(string& value /* @out */) const = 0; + + // @property + // @brief System uptime (in seconds) + // param value: System uptime in seconds (e.g. 120) + virtual Core::hresult Uptime(uint32_t& value /* @out */) const = 0; + + // @property + // @brief Total installed system RAM (in bytes) + // param value: Total installed system RAM in bytes (e.g. 655757312) + virtual Core::hresult TotalRAM(uint64_t& value /* @out */) const = 0; + + // @property + // @brief Free system RAM (in bytes) + // param value: System RAM still available in bytes (e.g. 563015680) + virtual Core::hresult FreeRAM(uint64_t& value /* @out */) const = 0; + + // @property + // @brief Total swap space (in bytes) + // param value: Total swap space in bytes (e.g. 789132680) + virtual Core::hresult TotalSwap(uint64_t& value /* @out */) const = 0; + + // @property + // @brief Free swap space (in bytes) + // param value: Swap space still available in bytes (e.g. 789132680) + virtual Core::hresult FreeSwap(uint64_t& value /* @out */) const = 0; + + // @property + // @brief Host name + // param value: Host name of the device (e.g. buildroot) + virtual Core::hresult DeviceName(string& value /* @out */) const = 0; + + // @property + // @brief Current CPU load (percentage) + // param value: Current CPU load in percentage (e.g. 2) + virtual Core::hresult CPULoad(uint8_t& value /* @out */) const = 0; + + // @property + // @brief CPU load averages from 1, 5 and 15 minutes (percentage) + // param value: An array of three CPU load averages in percentage (e.g. [2, 3, 4]) + virtual Core::hresult CPULoadAvgs(CPULoads& value /* @out */) const = 0; + + // @property + // @brief Network interface addresses + // @param networkInterfaces: An array of network interfaces with their addresses + virtual Core::hresult Addresses(INetworkInterfaceIterator*& networkInterfaces /* @out */) const = 0; + + // @property + // @brief Socket information + // @param socketInfo: Information about the sockets + virtual Core::hresult SocketInfo(Sockets& socketInfo /* @out */) const = 0; }; } } diff --git a/interfaces/Ids.h b/interfaces/Ids.h index f367d646..ec7c29f6 100644 --- a/interfaces/Ids.h +++ b/interfaces/Ids.h @@ -262,6 +262,8 @@ namespace Exchange { ID_DEVICE_CAPABILITIES_VIDEO = ID_DEVICE_INFO + 6, ID_DEVICE_CAPABILITIES_VIDEO_OUTPUT = ID_DEVICE_INFO + 7, ID_DEVICE_CAPABILITIES_RESOLUTION = ID_DEVICE_INFO + 8, + ID_SYSTEM_INFO = ID_DEVICE_INFO + 9, + ID_SYSTEM_INFO_NETWORK_INTERFACE = ID_DEVICE_INFO + 10, ID_DIALSERVER = RPC::IDS::ID_EXTERNAL_INTERFACE_OFFSET + 0x380, ID_DIALSERVER_APPLICATION = ID_DIALSERVER + 1, diff --git a/jsonrpc/DeviceInfo.json b/jsonrpc/DeviceInfo.json deleted file mode 100644 index 21323476..00000000 --- a/jsonrpc/DeviceInfo.json +++ /dev/null @@ -1,1193 +0,0 @@ -{ - "$schema": "interface.schema.json", - "jsonrpc": "2.0", - "info": { - "version": "1.0.0", - "title": "Device Info API", - "class": "DeviceInfo", - "format": "uncompliant-extended", - "description": "DeviceInfo JSON-RPC interface", - "legacy": true - }, - "common": { - "$ref": "common.json" - }, - "definitions": { - "cpuloadavgs": { - "description": "cpu 1min, 5min,15min load avg", - "type": "object", - "properties": { - "avg1min": { - "type": "number", - "size": 64, - "example": 789132680, - "description": "1min cpuload average" - }, - "avg5min": { - "type": "number", - "size": 64, - "example": 789132680, - "description": "5min cpuload average" - }, - "avg15min": { - "type": "number", - "size": 64, - "example": 789132680, - "description": "15min cpuload average" - } - }, - "required": [ - "avg1min", - "avg5min", - "avg15min" - ] - }, - "audioPort": { - "type": "string", - "enum": [ - "OTHER", - "RF_MODULATOR", - "ANALOG", - "SPDIF0", - "HDMI0", - "HDMI1", - "DISPLAYPORT" - ], - "description": "Audio output supported by the device", - "example": "analog" - }, - "audiooutputs": { - "type": "array", - "description": "An array of audio output supported by the device", - "items": { - "$ref": "#/definitions/audioPort" - } - }, - "audiocapability": { - "type": "string", - "enum": [ - "none", - "ATMOS", - "DOLBY DIGITAL", - "DOLBY DIGITAL PLUS", - "Dual Audio Decode", - "DAPv2", - "MS12" - ], - "enumids": [ - "NONE", - "ATMOS", - "DD", - "DDPLUS", - "DAD", - "DAPV2", - "MS12" - ], - "description": "Audio capability", - "example": "none" - }, - "audiocapabilities": { - "description": "An array of audio capabilities", - "type": "array", - "items": { - "$ref": "#/definitions/audiocapability" - } - }, - "ms12capability": { - "type": "string", - "enum": [ - "none", - "Dolby Volume", - "Inteligent Equalizer", - "Dialogue Enhancer" - ], - "enumids": [ - "NONE", - "DOLBYVOLUME", - "INTELIGENTEQUALIZER", - "DIALOGUEENHANCER" - ], - "description": "MS12 audio capability", - "example": "dolby_volume" - }, - "ms12capabilities": { - "description": "An array of MS12 audio capabilities", - "type": "array", - "items": { - "$ref": "#/definitions/ms12capability" - } - }, - "ms12profile": { - "type": "string", - "enum": [ - "None", - "Music", - "Movie", - "Voice" - ], - "enumids": [ - "NONE", - "MUSIC", - "MOVIE", - "VOICE" - ], - "description": "MS12 Profile", - "example": "music" - }, - "ms12profiles": { - "description": "An array of MS12 audio profiles", - "type": "array", - "items": { - "$ref": "#/definitions/ms12profile" - } - }, - "videoDisplay": { - "type": "string", - "enum": [ - "OTHER", - "RF_MODULATOR", - "COMPOSITE", - "SVIDEO", - "COMPONET", - "SCART_RGB", - "HDMI0", - "HDMI1", - "DISPLAYPORT" - ], - "description": "Video output supported by the device", - "example": "displayport" - }, - "videooutputs": { - "type": "array", - "description": "An array of video output supported by the device", - "items": { - "$ref": "#/definitions/videoDisplay" - } - }, - "output_resolution": { - "type": "string", - "enum": [ - "unknown", - "480i", - "480p", - "576i", - "576p", - "576p50", - "720p", - "720p24", - "720p25", - "720p30", - "720p50", - "720p60", - "1080i", - "1080i25", - "1080i50", - "1080i60", - "1080p", - "1080p24", - "1080p25", - "1080p30", - "1080p50", - "1080p60", - "2160p24", - "2160p25", - "2160p30", - "2160p50", - "2160p60", - "4320p30", - "4320p60" - ], - "description": "Resolution supported by the device", - "example": "1080p" - }, - "output_resolutions": { - "type": "array", - "description": "An array of resolution supported by the device", - "items": { - "$ref": "#/definitions/output_resolution" - } - }, - "copyprotection": { - "type": "string", - "enum": [ - "unavailable", - "1.4", - "2.0", - "2.1", - "2.2" - ], - "enumids": [ - "HDCP_UNAVAILABLE", - "HDCP_14", - "HDCP_20", - "HDCP_21", - "HDCP_22" - ], - "description": "HDCP support", - "example": "hdcp_20" - }, - "videooutputcapabilities": { - "description": "Video capabilities of the output", - "type": "object", - "properties": { - "hdcp": { - "description": "HDCP support", - "$ref": "#/definitions/copyprotection" - }, - "videoDisplay": { - "description": "Video Output support", - "$ref": "#/definitions/videoDisplay" - }, - "output_resolutions": { - "description": "Supported resolutions", - "$ref": "#/definitions/output_resolutions" - }, - "defaultresolution": { - "description": "Default resolution", - "$ref": "#/definitions/output_resolution" - } - }, - "required": [ - "hdcp", - "videooutputs", - "output_resolutions", - "defaultresolution" - ] - }, - "audiooutputcapabilities": { - "description": "Audio capabilities of the output", - "type": "object", - "properties": { - "audioPort": { - "description": "Audio Output support", - "$ref": "#/definitions/audioPort" - }, - "audiocapabilities": { - "description": "Audio capabilities for the specified audio port", - "$ref": "#/definitions/audiocapabilities" - }, - "ms12capabilities": { - "description": "Audio ms12 capabilities for the specified audio port", - "$ref": "#/definitions/ms12capabilities" - }, - "ms12profiles": { - "description": "Audio ms12 profiles for the specified audio port", - "$ref": "#/definitions/ms12profiles" - } - }, - "required": [ - "audiooutputs", - "audiocapabilities", - "ms12capabilities", - "ms12profiles" - ] - }, - "devicetype": { - "type": "string", - "enum": [ - "tv", - "IpStb", - "QamIpStb", - "hybrid", - "mediaclient" - ], - "description": "Device type", - "example": "IpStb" - }, - "make": { - "type": "string", - "enum": [ - "platco", - "llama", - "hisense", - "element", - "sky", - "sercomm", - "commscope", - "arris", - "cisco", - "pace", - "samsung", - "technicolor", - "Amlogic_Inc", - "raspberrypi_org", - "Pioneer" - ], - "description": "Device manufacturer", - "example": "pace" - }, - "sku": { - "type": "string", - "enum": [ - "PLTL11AEI", - "ZWCN11MWI", - "SKTL11AEI", - "LS301", - "HSTP11MWR", - "HSTP11MWRFX50", - "ELTE11MWR", - "SKXI11ADS", - "SKXI11AIS", - "SKXI11ANS", - "SCXI11AIC", - "SCXI11BEI", - "CMXI11BEI", - "AX013AN", - "AX014AN", - "AX061AEI", - "MX011AN", - "CS011AN", - "CXD01ANI", - "PX001AN", - "PX013AN", - "PX022AN", - "PX032ANI", - "PX051AEI", - "PXD01ANI", - "SX022AN", - "TX061AEI", - "PI", - "XUSHTC11MWR", - "XUSPTC11MWR", - "XUSHTB11MWR", - "PITU11MWR" - ], - "description": "Device model number or SKU", - "example": "PX051AEI" - }, - "yocto": { - "type": "string", - "enum": [ - "dunfell", - "morty", - "daisy", - "kirkstone" - ], - "description": "Yocto version", - "example": "dunfell" - }, - "distributorid": { - "type": "string", - "enum": [ - "comcast", - "xglobal", - "sky-de", - "sky-italia", - "sky-uk", - "sky-uk-dev", - "sky-deu", - "sky-deu-dev", - "sky-it", - "sky-it-dev", - "cox", - "cox-hospitality", - "cox-dev", - "cox-qa", - "MIT", - "shaw", - "shaw-dev", - "rogers", - "rogers-dev", - "videotron", - "charter", - "charter-dev" - ], - "enumids": [ - "COMCAST", - "XGLOBAL", - "SKY_DE", - "SKY_ITALIA", - "SKY_UK", - "SKY_UK_DEV", - "SKY_DEU", - "SKY_DEU_DEV", - "SKY_IT", - "SKY_IT_DEV", - "COX", - "COX_HOSPITALITY", - "COX_DEV", - "COX_QA", - "MIT", - "SHAW", - "SHAW_DEV", - "ROGERS", - "ROGERS_DEV", - "VIDEOTRON", - "CHARTER", - "CHARTER_DEV" - ], - "description": "Partner ID or distributor ID for device", - "example": "comcast" - } - }, - "properties": { - "deviceaudiocapabilities":{ - "summary": "Audio capabilities of the device", - "readonly": true, - "params":{ - "type": "object", - "properties": { - "audiooutputcapabilities": { - "type": "array", - "description": "An array of audiooutputcapabilities", - "items": { - "$ref": "#/definitions/audiooutputcapabilities" - } - } - } - }, - "required": [ - "audiooutputcapabilities" - ] - }, - "devicevideocapabilities":{ - "summary": "Video capabilities of the device", - "readonly": true, - "params":{ - "type": "object", - "properties": { - "hostedid": { - "description": "EDID of the host", - "type" : "string", - "example" : "" - }, - "hdr": { - "description": "Is HDR supported by this device", - "type": "boolean", - "example": false - }, - "atmos": { - "description": "Is Atmos supported by this device", - "type": "boolean", - "example": false - }, - "cec": { - "description": "Is CEC supported by this device", - "type": "boolean", - "example": true - }, - "videooutputcapabilities": { - "type": "array", - "description": "An array of videooutputcapabilities", - "items": { - "$ref": "#/definitions/videooutputcapabilities" - } - } - }, - "required": [ - "hdr", - "atmos", - "cec", - "hostedid", - "videooutputcapabilities" - ] - } - }, - "deviceinfo":{ - "summary": "Device meta data", - "readonly": true, - "params":{ - "type": "object", - "properties": { - "devicetype" : { - "description": "Device type", - "type": "string", - "example": "IpStb" - }, - "friendlyname": { - "description": "Friendly name", - "type": "string", - "example": "my device" - }, - "distributorid": { - "description": "Partner ID or distributor ID for device", - "type": "string", - "example": "Comcast" - }, - "make" : { - "description": "Device manufacturer", - "type": "string", - "example": "pace" - }, - "modelname": { - "description": "Model Name", - "type": "string", - "example": "model A" - }, - "modelyear": { - "description": "Model Year", - "type": "number", - "size": 16, - "example": "2020" - }, - "platformname": { - "description": "Platform name", - "type": "string", - "example": "linux" - }, - "serialnumber": { - "description": "Device serial number", - "type": "string", - "example": "WPEuCfrLF45" - }, - "sku" : { - "description": "Device model number or SKU", - "type": "string", - "example": "PX051AEI" - } - } - } - }, - "systeminfo": { - "summary": "System general information", - "readonly": true, - "params": { - "type": "object", - "properties": { - "version": { - "description": "Software version (in form *version#hashtag*)", - "example": "1.0#14452f612c3747645d54974255d11b8f3b4faa54", - "type": "string" - }, - "uptime": { - "description": "System uptime (in seconds)", - "example": 120, - "type": "number", - "size": 64 - }, - "totalram": { - "description": "Total installed system RAM memory (in bytes)", - "example": 655757312, - "type": "number", - "size": 64 - }, - "freeram": { - "description": "Free system RAM memory (in bytes)", - "example": 563015680, - "type": "number", - "size": 64 - }, - "totalswap": { - "description": "Total swap space (in bytes)", - "example": 789132680, - "type": "number", - "size": 64 - }, - "freeswap": { - "description": "Swap space still available (in bytes)", - "example": 789132680, - "type": "number", - "size": 64 - }, - "devicename": { - "description": "Host name", - "example": "buildroot", - "type": "string" - }, - "cpuload": { - "description": "Current CPU load (percentage)", - "example": "2", - "type": "string" - }, - "cpuloadavg": { - "description": "CPU load average", - "$ref": "#/definitions/cpuloadavgs" - }, - "serialnumber": { - "description": "Device serial number", - "example": "WPEuCfrLF45", - "type": "string" - }, - "time": { - "description": "Current system date and time", - "example": "Mon, 11 Mar 2019 14:38:18", - "type": "string" - } - }, - "required": [ - "version", - "uptime", - "totalram", - "freeram", - "totalswap", - "freeswap", - "devicename", - "cpuload", - "cpuloadavg", - "serialnumber", - "time" - ] - } - }, - "addresses": { - "summary": "Network interface addresses", - "readonly": true, - "params": { - "type": "array", - "items": { - "type": "object", - "properties": { - "name": { - "description": "Interface name", - "type": "string", - "example": "lo" - }, - "mac": { - "description": "Interface MAC address", - "example": "00:00:00:00:00", - "type": "string" - }, - "ip": { - "type": "array", - "description": "An array of Interface IP address", - "items": { - "type": "string", - "description": "Interface IP address", - "example": "127.0.0.1" - } - } - }, - "required": [ - "name", - "mac" - ] - } - } - }, - "socketinfo": { - "summary": "Socket information", - "readonly": true, - "params": { - "type": "object", - "properties": { - "total": { - "description": "Number of total", - "type": "number", - "example": 0 - }, - "open": { - "description": "Number of open", - "type": "number", - "example": 0 - }, - "link": { - "description": "Number of link", - "type": "number", - "example": 0 - }, - "exception": { - "description": "Number of exception", - "type": "number", - "example": 0 - }, - "shutdown": { - "description": "Number of shutdown", - "type": "number", - "example": 0 - }, - "runs": { - "description": "Number of runs", - "type": "number", - "example": 1 - } - }, - "required": [ - "runs" - ] - } - }, - "supportedaudioports": { - "summary": "Audio ports supported on the device (all ports that are physically present)", - "readonly": true, - "params": { - "type": "object", - "properties": { - "supportedAudioPorts": { - "description": "Audio Output support", - "$ref": "#/definitions/audiooutputs" - } - }, - "required": [ - "supportedAudioPorts" - ] - }, - "errors": [ - { - "description": "General error", - "$ref": "#/common/errors/general" - } - ] - }, - "supportedvideodisplays": { - "summary": "Video ports supported on the device (all ports that are physically present)", - "readonly": true, - "params": { - "type": "object", - "properties": { - "supportedVideoDisplays": { - "description": "Video Output support", - "$ref": "#/definitions/videooutputs" - } - }, - "required": [ - "supportedVideoDisplays" - ] - }, - "errors": [ - { - "description": "General error", - "$ref": "#/common/errors/general" - } - ] - }, - "hostedid": { - "summary": "EDID of the host", - "readonly": true, - "params": { - "type": "object", - "properties": { - "EDID": { - "description": "A base64 encoded byte array string representing the EDID", - "type": "string", - "example": "AP///////wAQrMLQVEJTMQUdAQOANR546q11qVRNnSYPUFSlSwCBALMA0QBxT6lAgYDRwAEBVl4AoKCgKVAwIDUADighAAAaAAAA/wBNWTNORDkxVjFTQlQKAAAA/ABERUxMIFAyNDE4RAogAAAA/QAxVh1xHAAKICAgICAgARsCAxuxUJAFBAMCBxYBBhESFRMUHyBlAwwAEAACOoAYcTgtQFgsRQAOKCEAAB4BHYAYcRwWIFgsJQAOKCEAAJ6/FgCggDgTQDAgOgAOKCEAABp+OQCggDgfQDAgOgAOKCEAABoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA2A" - } - }, - "required": [ - "EDID" - ] - }, - "errors": [ - { - "description": "General error", - "$ref": "#/common/errors/general" - } - ] - }, - "firmwareversion": { - "summary": "Versions maintained in version.txt", - "readonly": true, - "params": { - "type": "object", - "properties": { - "imagename": { - "description": "Name of firmware image", - "type": "string", - "example": "PX051AEI_VBN_2203_sprint_20220331225312sdy_NG" - }, - "sdk": { - "description": "SDK version string", - "type": "string", - "example": "17.3" - }, - "mediarite": { - "description": "Mediarite value", - "type": "string", - "example": "8.3.53" - }, - "yocto": { - "type": "string", - "$ref": "#/definitions/yocto" - } - }, - "required": [ - "imagename" - ] - }, - "errors": [ - { - "description": "General error", - "$ref": "#/common/errors/general" - } - ] - }, - "serialnumber": { - "summary": "Serial number set by manufacturer", - "readonly": true, - "params": { - "type": "object", - "properties": { - "serialnumber": { - "description": "Device Serial Number", - "type": "string", - "example": "PAW400003744" - } - }, - "required": [ - "serialnumber" - ] - }, - "errors": [ - { - "description": "General error", - "$ref": "#/common/errors/general" - } - ] - }, - "make": { - "summary": "Device manufacturer", - "readonly": true, - "params": { - "type": "object", - "properties": { - "make": { - "$ref": "#/definitions/make" - } - }, - "required": [ - "make" - ] - }, - "errors": [ - { - "description": "General error", - "$ref": "#/common/errors/general" - } - ] - }, - "modelid": { - "summary": "Device model number or SKU", - "readonly": true, - "params": { - "type": "object", - "properties": { - "sku": { - "$ref": "#/definitions/sku" - } - }, - "required": [ - "sku" - ] - }, - "errors": [ - { - "description": "General error", - "$ref": "#/common/errors/general" - } - ] - }, - "modelname": { - "summary": "Device model name", - "readonly": true, - "params": { - "type": "object", - "properties": { - "model": { - "description": "Device model name", - "type": "string", - "example": "Pace Xi5" - } - }, - "required": [ - "model" - ] - }, - "errors": [ - { - "description": "General error", - "$ref": "#/common/errors/general" - } - ] - }, - "modelyear": { - "summary": "Device model year", - "readonly": true, - "params": { - "type": "object", - "properties": { - "year": { - "description": "Device model year", - "type": "number", - "size": 16, - "example": "2020" - } - }, - "required": [ - "year" - ] - }, - "errors": [ - { - "description": "General error", - "$ref": "#/common/errors/general" - } - ] - }, - "friendlyname": { - "summary": "Device friendly name", - "readonly": true, - "params": { - "type": "object", - "properties": { - "name": { - "description": "Device friendly name", - "type": "string", - "example": "My device" - } - }, - "required": [ - "name" - ] - }, - "errors": [ - { - "description": "General error", - "$ref": "#/common/errors/general" - } - ] - }, - "platformname": { - "summary": "Device Platform name", - "readonly": true, - "params": { - "type": "object", - "properties": { - "name": { - "description": "Device Platform name", - "type": "string", - "example": "Linux" - } - }, - "required": [ - "name" - ] - }, - "errors": [ - { - "description": "General error", - "$ref": "#/common/errors/general" - } - ] - }, - "devicetype": { - "summary": "Device type", - "readonly": true, - "params": { - "type": "object", - "properties": { - "devicetype": { - "$ref": "#/definitions/devicetype" - } - }, - "required": [ - "devicetype" - ] - }, - "errors": [ - { - "description": "General error", - "$ref": "#/common/errors/general" - } - ] - }, - "distributorid": { - "summary": "Partner ID or distributor ID for device", - "readonly": true, - "params": { - "type": "object", - "properties": { - "distributorid": { - "$ref": "#/definitions/distributorid" - } - }, - "required": [ - "distributorid" - ] - }, - "errors": [ - { - "description": "General error", - "$ref": "#/common/errors/general" - } - ] - } - }, - "methods": { - "supportedresolutions": { - "summary": "Supported resolutions on the selected video display port", - "params": { - "type": "object", - "properties": { - "videoDisplay": { - "$ref": "#/definitions/videoDisplay" - } - }, - "required": [ - "videoDisplay" - ] - }, - "result": { - "type": "object", - "properties": { - "supportedResolutions": { - "$ref": "#/definitions/output_resolutions" - } - }, - "required": [ - "supportedResolutions" - ] - }, - "errors": [ - { - "description": "general error", - "$ref": "#/common/errors/general" - } - ] - }, - "defaultresolution": { - "summary": "Default resolution on the selected video display port", - "params": { - "type": "object", - "properties": { - "videoDisplay": { - "$ref": "#/definitions/videoDisplay" - } - }, - "required": [ - "videoDisplay" - ] - }, - "result": { - "type": "object", - "properties": { - "defaultResolution": { - "$ref": "#/definitions/output_resolution" - } - }, - "required": [ - "defaultResolution" - ] - }, - "errors": [ - { - "description": "general error", - "$ref": "#/common/errors/general" - } - ] - }, - "supportedhdcp": { - "summary": "Supported hdcp version on the selected video display port", - "params": { - "type": "object", - "properties": { - "videoDisplay": { - "$ref": "#/definitions/videoDisplay" - } - }, - "required": [ - "videoDisplay" - ] - }, - "result": { - "type": "object", - "properties": { - "supportedHDCPVersion": { - "$ref": "#/definitions/copyprotection" - } - }, - "required": [ - "supportedHDCPVersion" - ] - }, - "errors": [ - { - "description": "general error", - "$ref": "#/common/errors/general" - } - ] - }, - "audiocapabilities": { - "summary": "Audio capabilities for the specified audio port", - "params": { - "type": "object", - "properties": { - "audioPort": { - "$ref": "#/definitions/audioPort" - } - }, - "required": [ - "audioPort" - ] - }, - "result": { - "type": "object", - "properties": { - "AudioCapabilities": { - "$ref": "#/definitions/audiocapabilities" - } - }, - "required": [ - "AudioCapabilities" - ] - }, - "errors": [ - { - "description": "general error", - "$ref": "#/common/errors/general" - } - ] - }, - "ms12capabilities": { - "summary": "Audio ms12 capabilities for the specified audio port", - "params": { - "type": "object", - "properties": { - "audioPort": { - "$ref": "#/definitions/audioPort" - } - }, - "required": [ - "audioPort" - ] - }, - "result": { - "type": "object", - "properties": { - "MS12Capabilities": { - "$ref": "#/definitions/ms12capabilities" - } - }, - "required": [ - "MS12Capabilities" - ] - }, - "errors": [ - { - "description": "general error", - "$ref": "#/common/errors/general" - } - ] - }, - "supportedms12audioprofiles": { - "summary": "Supported ms12 audio profiles for the specified audio port", - "params": { - "type": "object", - "properties": { - "audioPort": { - "$ref": "#/definitions/audioPort" - } - }, - "required": [ - "audioPort" - ] - }, - "result": { - "type": "object", - "properties": { - "supportedMS12AudioProfiles": { - "description": "An array of ms12 audio profiles", - "$ref": "#/definitions/ms12profiles" - } - }, - "required": [ - "supportedMS12AudioProfiles" - ] - }, - "errors": [ - { - "description": "General error", - "$ref": "#/common/errors/general" - } - ] - } - } -}