

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 동적 애플리케이션 프레임워크의 Thrift 정의와 명명된 파이프 이름
<a name="dynamic-application-framework-thrift-definitions"></a>

Thrift를 사용하면 WorkSpaces 애플리케이션에서 제공하는 간단한 정의 파일을 사용하여 RPC 클라이언트를 컴파일할 수 있습니다. RPC 클라이언트를 사용하면 스트리밍 인스턴스에서 실행되는 WorkSpaces 애플리케이션 에이전트 소프트웨어와 통신할 수 있습니다. 원하는 언어로 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),
}
```