{
  "Name": "HTTPChatLibrary",
  "Namespace": "ChatServer",
  "ID": "{FAC89BC0-FECD-410B-8A96-D03A60C8301B}",
  "Version": "4.0",
  "Services": [
    {
      "Name": "HTTPChatService",
      "ID": "{6893042C-3354-4AE6-B5FA-E7A637475C30}",
      "RequireSession": true,
      "Operations": [
        {
          "Name": "SendMessage",
          "ForceAsyncResponse": true,
          "CustomAttributes": {
            "HttpApiPath": "HTTPChatService\/SendMessage"
          },
          "Parameters": [
            {
              "Name": "aMessageText",
              "DataType": "Widestring"
            },
            {
              "Name": "aDestination",
              "DataType": "Widestring"
            }
          ]
        },
        {
          "Name": "GetLoggedUsers",
          "CustomAttributes": {
            "HttpApiPath": "HTTPChatService\/GetLoggedUsers"
          },
          "Parameters": [
            {
              "Name": "Result",
              "DataType": "TUserInfoArray",
              "Flag": "Result"
            }
          ]
        }
      ]
    },
    {
      "Name": "LoginService",
      "ID": "{78392011-CD6A-4943-98AD-8C0F22FACFF3}",
      "Operations": [
        {
          "Name": "Login",
          "CustomAttributes": {
            "HttpApiPath": "LoginService\/Login"
          },
          "Parameters": [
            {
              "Name": "Result",
              "DataType": "WideString",
              "Flag": "Result"
            },
            {
              "Name": "aUserID",
              "DataType": "WideString"
            }
          ]
        },
        {
          "Name": "Logout",
          "CustomAttributes": {
            "HttpApiPath": "LoginService\/Logout"
          }
        }
      ]
    }
  ],
  "EventSinks": [
    {
      "Name": "HTTPChatEvents",
      "ID": "{75F9A466-518A-4B09-9DC4-9272B1EEFD95}",
      "Operations": [
        {
          "Name": "OnLogin",
          "Parameters": [
            {
              "Name": "aUserInfo",
              "DataType": "TUserInfo"
            }
          ]
        },
        {
          "Name": "OnLogout",
          "Parameters": [
            {
              "Name": "aUserID",
              "DataType": "Widestring"
            }
          ]
        },
        {
          "Name": "OnSendMessage",
          "Parameters": [
            {
              "Name": "aSenderUserID",
              "DataType": "Widestring"
            },
            {
              "Name": "aMessage",
              "DataType": "Widestring"
            },
            {
              "Name": "aIsPrivateMessage",
              "DataType": "Boolean"
            }
          ]
        }
      ]
    },
    {
      "Name": "HTTPChatServerEvents",
      "ID": "{E80B0A2E-96ED-4F38-A6AC-E4E0B59F27F3}",
      "Operations": [
        {
          "Name": "OnSystemShutdown",
          "Parameters": [
            {
              "Name": "aShutdownDelay",
              "DataType": "Integer"
            },
            {
              "Name": "aReason",
              "DataType": "Widestring"
            }
          ]
        },
        {
          "Name": "OnMandatoryClose",
          "Parameters": [
            {
              "Name": "aClientID",
              "DataType": "Widestring"
            },
            {
              "Name": "aReason",
              "DataType": "Widestring"
            }
          ]
        }
      ]
    }
  ],
  "Structs": [
    {
      "Name": "TUserInfo",
      "Elements": [
        {
          "Name": "UserID",
          "DataType": "Widestring"
        },
        {
          "Name": "SessionID",
          "DataType": "Widestring"
        }
      ]
    }
  ],
  "Arrays": [
    {
      "Name": "TUserInfoArray",
      "DataType": "TUserInfo"
    }
  ]
}
