Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 14 additions & 3 deletions definitions/Definitions.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -206,6 +206,20 @@
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(ProjectDir)../interfaces/json/JIOConnector.h</Outputs>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(ProjectDir)../interfaces/json/JIOConnector.h</Outputs>
</CustomBuild>
<CustomBuild Include="..\interfaces\IInputSwitch.h">
<OutputItemType Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">ClInclude</OutputItemType>
<OutputItemType Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">ClInclude</OutputItemType>
<OutputItemType Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">ClInclude</OutputItemType>
<OutputItemType Condition="'$(Configuration)|$(Platform)'=='Release|x64'">ClInclude</OutputItemType>
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">python "$(ToolPath)\JsonGenerator\JsonGenerator.py" -I "$(FrameworkPath)\" -I "$(ProjectDir)\" --keep-empty --case-convention legacy -c -j "$(ProjectDir)../interfaces" -o "$(ProjectDir)../interfaces/json" "%(FullPath)" --force</Command>
<Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">python "$(ToolPath)\JsonGenerator\JsonGenerator.py" -I "$(FrameworkPath)\" -I "$(ProjectDir)\" --keep-empty --case-convention legacy -c -j "$(ProjectDir)../interfaces" -o "$(ProjectDir)../interfaces/json" "%(FullPath)" --force</Command>
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">python "$(ToolPath)\JsonGenerator\JsonGenerator.py" -I "$(FrameworkPath)\" -I "$(ProjectDir)\" --keep-empty --case-convention legacy -c -j "$(ProjectDir)../interfaces" -o "$(ProjectDir)../interfaces/json" "%(FullPath)" --force</Command>
<Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">python "$(ToolPath)\JsonGenerator\JsonGenerator.py" -I "$(FrameworkPath)\" -I "$(ProjectDir)\" --keep-empty --case-convention legacy -c -j "$(ProjectDir)../interfaces" -o "$(ProjectDir)../interfaces/json" "%(FullPath)" --force</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(ProjectDir)../interfaces/json/JInputSwitch.h</Outputs>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(ProjectDir)../interfaces/json/JInputSwitch.h</Outputs>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(ProjectDir)../interfaces/json/JInputSwitch.h</Outputs>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(ProjectDir)../interfaces/json/JInputSwitch.h</Outputs>
</CustomBuild>
<CustomBuild Include="..\interfaces\ISubsystemControl.h">
<OutputItemType Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">ClInclude</OutputItemType>
<OutputItemType Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">ClInclude</OutputItemType>
Expand Down Expand Up @@ -396,9 +410,6 @@
<CustomBuild Include="..\jsonrpc\FirmwareControl.json">
<FileType>Document</FileType>
</CustomBuild>
<CustomBuild Include="..\jsonrpc\InputSwitch.json">
<FileType>Document</FileType>
</CustomBuild>
<CustomBuild Include="..\jsonrpc\Monitor.json">
<FileType>Document</FileType>
</CustomBuild>
Expand Down
8 changes: 5 additions & 3 deletions definitions/Definitions.vcxproj.filters
Original file line number Diff line number Diff line change
Expand Up @@ -212,9 +212,6 @@
<CustomBuild Include="..\jsonrpc\FirmwareControl.json">
<Filter>JSON Files</Filter>
</CustomBuild>
<CustomBuild Include="..\jsonrpc\InputSwitch.json">
<Filter>JSON Files</Filter>
</CustomBuild>
<CustomBuild Include="..\jsonrpc\Monitor.json">
<Filter>JSON Files</Filter>
</CustomBuild>
Expand Down Expand Up @@ -252,6 +249,11 @@
<Filter>Interface Files</Filter>
</CustomBuild>
<CustomBuild Include="..\interfaces\IPower.h" />
<Filter>Interface Files</Filter>
</CustomBuild>
<CustomBuild Include="..\interfaces\IInputSwitch.h">
<Filter>Interface Files</Filter>
</CustomBuild>
<CustomBuild Include="..\interfaces\ISubsystemControl.h">
<Filter>Interface Files</Filter>
</CustomBuild>
Expand Down
36 changes: 34 additions & 2 deletions interfaces/IInputSwitch.h
Original file line number Diff line number Diff line change
Expand Up @@ -18,12 +18,17 @@
*/

#pragma once

#include "Module.h"

// @insert <com/IIteratorType.h>

namespace Thunder {

namespace Exchange {

// This interface gives direct access to a time synchronize / update
// @json 1.0.0 @text:legacy_lowercase
struct EXTERNAL IInputSwitch : virtual public Core::IUnknown {
enum { ID = ID_INPUT_SWITCH };

Expand All @@ -33,12 +38,39 @@ namespace Exchange {
SLAVE
};

struct ChannelData {
string name /* @brief Callsign associated with this channel (e.g. WebKitBrowser) */;
bool enabled /* @brief Is the channel enabled to receive info (e.g. true) */;
};

typedef RPC::IIteratorType<ChannelData, ID_INPUT_SWITCH_CHANNELS> IChannelIterator;

// @json:omit
virtual RPC::IStringIterator* Consumers() const = 0;
// @json:omit
virtual bool Consumer(const string& name) const = 0;
// @json:omit
virtual uint32_t Consumer(const string& name, const mode value) = 0;

virtual uint32_t Select(const string& name) = 0;
// @brief Enable the given channel, disabling all other not immune channels
// @param name: Callsign that is the owner of this channel (e.g. WebKitBrowser)
// @retval ERROR_UNKNOWN_KEY: Failed to find a channel with the given name
virtual Core::hresult Select(const string& name) = 0;

// @brief Enable or Disable the throughput through the given channel
// @param name: Callsign that is the owner of this channel (e.g. WebKitBrowser)
// @param enabled: Enable or disable the throughput of data through this channel (e.g. true)
// @retval ERROR_UNKNOWN_KEY: Failed to find a channel with the given name
virtual Core::hresult Channel(const string& name, const bool enabled) = 0;

// @property
// @brief Check the status of the requested channel
// @param name: Server name, if omitted, status of all configured channels is returned (e.g. WebKitBrowser)
// @param servers: List of configured servers
// @retval ERROR_UNKNOWN_KEY: Could not find the designated channel
virtual Core::hresult Status(const Core::OptionalType<string>& name /* @index */, IChannelIterator*& channels /* @out @extract */) const = 0;
};

} // namespace Exchange
} // namespace Thunder

}
1 change: 1 addition & 0 deletions interfaces/Ids.h
Original file line number Diff line number Diff line change
Expand Up @@ -236,6 +236,7 @@ namespace Exchange {
ID_AVSCONTROLLER_NOTIFICATION = ID_AVSCLIENT + 2,

ID_INPUT_SWITCH = RPC::IDS::ID_EXTERNAL_INTERFACE_OFFSET + 0x310,
ID_INPUT_SWITCH_CHANNELS = ID_INPUT_SWITCH + 1,

ID_DOLBY_OUTPUT = RPC::IDS::ID_EXTERNAL_INTERFACE_OFFSET + 0x320,
ID_DOLBY_OUTPUT_NOTIFICATION = ID_DOLBY_OUTPUT + 1,
Expand Down
105 changes: 0 additions & 105 deletions jsonrpc/InputSwitch.json

This file was deleted.

Loading