IToiAudioOutputService.idl
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015 #ifndef ITOIAUDIOOUTPUTSERVICE_IDL
00016 #define ITOIAUDIOOUTPUTSERVICE_IDL
00017
00018 #include "TToiInvalidArgumentException.idl"
00019 #include "TToiInvalidPreconditionException.idl"
00020 #include "TToiOperationNotSupportedException.idl"
00021 #include "TToiUnhandledValueException.idl"
00022 #include "IToiApplicationService.idl"
00023
00024 #include "IToiApplicationService.idl"
00032
00033
00034
00035 interface IToiAudioOutputService {
00036
00038 typedef long TToiAudioConnectionId;
00039
00043 enum TToiAudioConnectionType
00044 {
00045
00048
00049 AUDIO_CONNECTION_TYPE_ANALOG,
00050
00053
00054 AUDIO_CONNECTION_TYPE_SPDIF,
00055
00058
00059 AUDIO_CONNECTION_TYPE_HDMI,
00060
00064
00065 AUDIO_CONNECTION_TYPE_DECODER,
00066
00070
00071 AUDIO_CONNECTION_TYPE_BUFFER,
00072
00075
00076 AUDIO_CONNECTION_TYPE_I2S
00077 };
00081 enum TToiAudioConnectionDirection
00082 {
00083
00086
00087 AUDIO_CONNECTION_DIRECTION_INPUT,
00088
00091
00092 AUDIO_CONNECTION_DIRECTION_OUTPUT
00093 };
00096 struct TToiAudioConnectionDescriptor {
00098 IToiAudioOutputService::TToiAudioConnectionId Id;
00100 IToiAudioOutputService::TToiAudioConnectionType Type;
00102 IToiAudioOutputService::TToiAudioConnectionDirection Direction;
00105 unsigned long Index;
00107 boolean IsMutable;
00109 boolean IsAdjustable;
00111 boolean IsLatencyAdjustable;
00112 };
00113
00115 typedef sequence < TToiAudioConnectionDescriptor > TToiAudioConnectionDescriptorSequence;
00116
00123 void GetConnections(out TToiAudioConnectionDescriptorSequence connectionList);
00124
00130
00131
00132
00133 void GetConfiguration(out string address);
00134
00153
00154
00155
00156
00157 void CreateConfigurationSession(in IToiApplicationService::TToiApplicationId applicationId,
00158 out string address)
00159 raises (TToiInvalidArgumentException, TToiInvalidPreconditionException);
00160
00180 void SetVolume(in TToiAudioConnectionId connectionId,
00181 in unsigned long level)
00182 raises (TToiInvalidArgumentException, TToiOperationNotSupportedException);
00183
00200 void GetVolume(in TToiAudioConnectionId connectionId,
00201 out unsigned long level)
00202 raises (TToiInvalidArgumentException, TToiOperationNotSupportedException);
00203
00218 void SetMuteState(in TToiAudioConnectionId connectionId,
00219 in boolean state)
00220 raises (TToiInvalidArgumentException, TToiOperationNotSupportedException);
00221
00236 void GetMuteState(in TToiAudioConnectionId connectionId,
00237 out boolean state)
00238 raises (TToiInvalidArgumentException, TToiOperationNotSupportedException);
00239
00263 void SetLatency(in TToiAudioConnectionId connectionId,
00264 in long latency)
00265 raises (TToiInvalidArgumentException, TToiOperationNotSupportedException);
00266
00283 void GetLatency(in TToiAudioConnectionId connectionId,
00284 out long latency)
00285 raises (TToiInvalidArgumentException, TToiOperationNotSupportedException);
00286
00287
00288
00301 void RegisterObserver(in IToiApplicationService::TToiApplicationId applicationId,
00302 in string address)
00303 raises (TToiInvalidArgumentException);
00304
00313 void ReleaseObserver(in string address)
00314 raises (TToiInvalidArgumentException);
00315
00316 };
00317
00318 #endif