using System.Collections.Generic;
using System.ServiceModel;
namespace AssistantSeika
{
[ServiceContract(SessionMode = SessionMode.Required)]
public interface IScAPIs
{
///
/// AssistantSeikaのバージョンを返す
///
/// バージョン文字列
[OperationContract]
string Verson();
///
/// AssistantSeikaの製品スキャン実行
///
[OperationContract]
void ProductScan();
///
/// PetitGateHttpwの起動実行
///
[OperationContract]
void BootHttpService();
///
/// 利用可能話者の一覧を返す
///
/// 話者一覧
[OperationContract]
Dictionary AvatorList();
///
/// 少し詳しい情報を持った話者一覧を返す
///
/// 話者一覧
[OperationContract]
Dictionary> AvatorList2();
///
/// 更に詳しい情報を持った話者一覧を返す
///
/// 話者一覧
[OperationContract]
Dictionary> AvatorListDetail2();
///
/// デフォルトのパラメタ情報を得る
///
/// 話者
/// デフォルトのパラメタ情報
[OperationContract]
Dictionary>> GetDefaultParams2(int cid);
///
/// 現在のパラメタ情報を得る
///
/// 話者
/// 現在のパラメタ情報
[OperationContract]
Dictionary>> GetCurrentParams2(int cid);
///
/// パラメタを初期化する
///
/// 話者
[OperationContract]
void ResetParams2(int cid);
///
/// 発声する
///
/// 話者
/// 発声させるテキスト
/// 音声を保存するファイル名(フルパス)
/// 適用する音声効果情報
/// 適用する感情情報
/// 再生時間(ミリ秒)
[OperationContract]
double Talk(int cid, string talktext, string filepath, Dictionary effects, Dictionary emotions);
///
/// 発声する
///
/// 話者
/// 発声テキストの配列
/// 音声を保存するファイル名(フルパス)
/// 適用する音声効果情報
/// 適用する感情情報
/// 再生時間(ミリ秒)
[OperationContract]
double Talk2(int cid, string[] talktexts, string filepath, Dictionary effects, Dictionary emotions);
///
/// 非同期に発声する
///
/// 話者
/// 発声させるテキスト
/// 適用する音声効果情報
/// 適用する感情情報
[OperationContract]
void TalkAsync(int cid, string talktext, Dictionary effects, Dictionary emotions);
///
/// 非同期に発声する
///
/// 話者
/// 発声テキストの配列
/// 適用する音声効果情報
/// 適用する感情情報
[OperationContract]
void TalkAsync2(int cid, string[] talktexts, Dictionary effects, Dictionary emotions);
}
}