<?xml version="1.0" encoding="UTF-8"?>
<scpd xmlns="urn:schemas-upnp-org:service-1-0">
<specVersion>
<major>1</major>
<minor>0</minor>
</specVersion>

<actionList>
<!-- 请求分享，有文件持有方发起 -->
<action>
<name>FileShareReq</name>
<argumentList>

<argument>
<name>inUuid</name>
<direction>in</direction>
<relatedStateVariable>VAR_UUID</relatedStateVariable>
</argument>

<argument>
<name>inUin</name>
<direction>in</direction>
<relatedStateVariable>VAR_UIN</relatedStateVariable>
</argument>

<argument>
<name>inToken</name>
<direction>in</direction>
<relatedStateVariable>VAR_TOKEN</relatedStateVariable>
</argument>

<argument>
<name>inSeq</name>
<direction>in</direction>
<relatedStateVariable>VAR_SEQ</relatedStateVariable>
</argument>

<argument>
<name>inHost</name>
<direction>in</direction>
<relatedStateVariable>VAR_HOST</relatedStateVariable>
</argument>

<argument>
<name>inPort</name>
<direction>in</direction>
<relatedStateVariable>VAR_PORT</relatedStateVariable>
</argument>

<argument>
<name>inFiles</name>
<direction>in</direction>
<relatedStateVariable>VAR_FILES</relatedStateVariable>
</argument>

<argument>
<name>outUuid</name>
<direction>out</direction>
<relatedStateVariable>VAR_UUID</relatedStateVariable>
</argument>

<argument>
<name>outUin</name>
<direction>out</direction>
<relatedStateVariable>VAR_UIN</relatedStateVariable>
</argument>

<argument>
<name>outSeq</name>
<direction>out</direction>
<relatedStateVariable>VAR_SEQ</relatedStateVariable>
</argument>

<argument>
<name>outRetCode</name>
<direction>out</direction>
<relatedStateVariable>VAR_RET_CODE</relatedStateVariable>
</argument>

<argument>
<name>outRetCause</name>
<direction>out</direction>
<relatedStateVariable>VAR_RET_CAUSE</relatedStateVariable>
</argument>
</argumentList>
</action>

<!-- 接受或者拒绝分享，由接收方发起 -->
<action>
<name>FileShareAcceptOrDeny</name>
<argumentList>

<argument>
<name>inUuid</name>
<direction>in</direction>
<relatedStateVariable>VAR_UUID</relatedStateVariable>
</argument>

<argument>
<name>inUin</name>
<direction>in</direction>
<relatedStateVariable>VAR_UIN</relatedStateVariable>
</argument>

<argument>
<name>inFiles</name>
<direction>in</direction>
<relatedStateVariable>VAR_FILES</relatedStateVariable>
</argument>

<argument>
<name>inSeq</name>
<direction>in</direction>
<relatedStateVariable>VAR_SEQ</relatedStateVariable>
</argument>


<argument>
<name>outUuid</name>
<direction>out</direction>
<relatedStateVariable>VAR_UUID</relatedStateVariable>
</argument>

<argument>
<name>outUin</name>
<direction>out</direction>
<relatedStateVariable>VAR_UIN</relatedStateVariable>
</argument>

<argument>
<name>outSeq</name>
<direction>out</direction>
<relatedStateVariable>VAR_SEQ</relatedStateVariable>
</argument>

<argument>
<name>outRetCode</name>
<direction>out</direction>
<relatedStateVariable>VAR_RET_CODE</relatedStateVariable>
</argument>

<argument>
<name>outRetCause</name>
<direction>out</direction>
<relatedStateVariable>VAR_RET_CAUSE</relatedStateVariable>
</argument>
</argumentList>
</action>


<!-- 取消分享，由文件持有方发起 -->
<action>
<name>FileShareCancelReq</name>
<argumentList>

<argument>
<name>inUuid</name>
<direction>in</direction>
<relatedStateVariable>VAR_UUID</relatedStateVariable>
</argument>

<argument>
<name>inUin</name>
<direction>in</direction>
<relatedStateVariable>VAR_UIN</relatedStateVariable>
</argument>

<argument>
<name>inSeq</name>
<direction>in</direction>
<relatedStateVariable>VAR_SEQ</relatedStateVariable>
</argument>


<argument>
<name>inFiles</name>
<direction>in</direction>
<relatedStateVariable>VAR_FILES</relatedStateVariable>
</argument>

<argument>
<name>outUuid</name>
<direction>out</direction>
<relatedStateVariable>VAR_UUID</relatedStateVariable>
</argument>

<argument>
<name>outUin</name>
<direction>out</direction>
<relatedStateVariable>VAR_UIN</relatedStateVariable>
</argument>

<argument>
<name>outSeq</name>
<direction>out</direction>
<relatedStateVariable>VAR_SEQ</relatedStateVariable>
</argument>

<argument>
<name>outRetCode</name>
<direction>out</direction>
<relatedStateVariable>VAR_RET_CODE</relatedStateVariable>
</argument>

<argument>
<name>outRetCause</name>
<direction>out</direction>
<relatedStateVariable>VAR_RET_CAUSE</relatedStateVariable>
</argument>
</argumentList>
</action>

<!-- 上报传输进度，由接收方发起 -->
<action>
<name>FileShareUpdateProgress</name>
<argumentList>

<argument>
<name>inUuid</name>
<direction>in</direction>
<relatedStateVariable>VAR_UUID</relatedStateVariable>
</argument>

<argument>
<name>inUin</name>
<direction>in</direction>
<relatedStateVariable>VAR_UIN</relatedStateVariable>
</argument>

<argument>
<name>inSeq</name>
<direction>in</direction>
<relatedStateVariable>VAR_SEQ</relatedStateVariable>
</argument>

<argument>
<name>inUpdates</name>
<direction>in</direction>
<relatedStateVariable>VAR_UPDATES</relatedStateVariable>
</argument>

<argument>
<name>outUuid</name>
<direction>out</direction>
<relatedStateVariable>VAR_UUID</relatedStateVariable>
</argument>

<argument>
<name>outUin</name>
<direction>out</direction>
<relatedStateVariable>VAR_UIN</relatedStateVariable>
</argument>

<argument>
<name>outSeq</name>
<direction>out</direction>
<relatedStateVariable>VAR_SEQ</relatedStateVariable>
</argument>

<argument>
<name>outRetCode</name>
<direction>out</direction>
<relatedStateVariable>VAR_RET_CODE</relatedStateVariable>
</argument>

<argument>
<name>outRetCause</name>
<direction>out</direction>
<relatedStateVariable>VAR_RET_CAUSE</relatedStateVariable>
</argument>
</argumentList>
</action>

</actionList>
<serviceStateTable>

<!--设备的UUID,建议使用Mac地址作为种子来生成UUID，确保任何时间都是一样的 -->
<stateVariable sendEvents="no">
<name>VAR_UUID</name>
<dataType>string</dataType>
</stateVariable>
<!--用户的UIN -->
<stateVariable sendEvents="no">
<name>VAR_UIN</name>
<dataType>ui4</dataType>
</stateVariable>
<!--时序 -->
<stateVariable sendEvents="no">
<name>VAR_SEQ</name>
<dataType>ui4</dataType>
</stateVariable>
<!--返回码 -->
<stateVariable sendEvents="no">
<name>VAR_RET_CODE</name>
<dataType>i4</dataType>
</stateVariable>
<!--返回错误时的原因 -->
<stateVariable sendEvents="no">
<name>VAR_RET_CAUSE</name>
<dataType>string</dataType>
</stateVariable>
<!--SERVER主机IP -->
<stateVariable sendEvents="no">
<name>VAR_HOST</name>
<dataType>string</dataType>
</stateVariable>
<!--SERVER主机的负责文件请求的HTTP端口 -->
<stateVariable sendEvents="no">
<name>VAR_PORT</name>
<dataType>ui2</dataType>
</stateVariable>
<!--文件信息，对应ShareFileInfoList结构 -->
<stateVariable sendEvents="no">
<name>VAR_FILES</name>
<dataType>string</dataType>
</stateVariable>

<!--Token，请求文件时带上供校验 -->
<stateVariable sendEvents="no">
<name>VAR_TOKEN</name>
<dataType>string</dataType>
</stateVariable>

<!-- 更新进度信息，对应UpdateInfoList结构 -->
<stateVariable sendEvents="no">
<name>VAR_UPDATES</name>
<dataType>string</dataType>
</stateVariable>


</serviceStateTable>
</scpd>