

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# 動的アプリケーションフレームワーク Thrift 定義と名前付きパイプ名
<a name="dynamic-application-framework-thrift-definitions"></a>

Thrift を使用すると、WorkSpaces アプリケーションが提供するシンプルな定義ファイルを使用して RPC クライアントをコンパイルできます。RPC クライアントを使用すると、ストリーミングインスタンスで実行されている WorkSpaces Applications エージェントソフトウェアと通信できます。RPC クライアントを自分の言語用にコンパイルする方法については、[Apache Thrift ドキュメント](https://thrift.apache.org/docs/)を参照してください。選択した言語用に Thrift ライブラリをコンパイルしたら、名前付きパイプトランスポートを使用して Thrift クライアントを構築します。D56C0258-2173-48D5-B0E6-1EC85AC67893 をパイプ名として使用します。

## AppStreamServer.thrift
<a name="appstream-server-thrift"></a>

```
namespace netstd AppStream.ApplicationCatalogService.Model

const string ServiceEndpoint = "D56C0258-2173-48D5-B0E6-1EC85AC67893";


struct AddApplicationsRequest
{
    1: required string userSid;
    2: required list<Application> applications;
}

struct AddApplicationsResponse
{
}

struct RemoveApplicationsRequest
{
    1: required string userSid; 
    2: required list<string> applicationIds;
}

struct RemoveApplicationsResponse
{
}

struct ClearApplicationsRequest
{
    1: required string userSid; 
}

struct ClearApplicationsResponse
{
}

struct Application
{
    1: required string id;
    2: required string displayName;
    3: required string launchPath;
    4: required string iconData;
    5: string launchParams;
    6: string workingDirectory;
}

exception AppStreamClientException
{
    1: string errorMessage,
    2: ErrorCode errorCode
}
	  
exception AppStreamServerException
{
    1: string errorMessage,
    2: ErrorCode errorCode
}

enum ErrorCode
{
}

service ApplicationCatalogService
{
    AddApplicationsResponse AddApplications(1:AddApplicationsRequest request)
    throws (1: AppStreamClientException ce, 2: AppStreamServerException se),

    RemoveApplicationsResponse RemoveApplications(1:RemoveApplicationsRequest request)
    throws (1: AppStreamClientException ce, 2: AppStreamServerException se),

    ClearApplicationsResponse ClearApplications(1:ClearApplicationsRequest request)
    throws (1: AppStreamClientException ce, 2: AppStreamServerException se),
}
```