Twitch SDK (Internal)
ichattransport.h
Go to the documentation of this file.
1 /********************************************************************************************
2 * Twitch Broadcasting SDK
3 *
4 * This software is supplied under the terms of a license agreement with Twitch Interactive, Inc. and
5 * may not be copied or used except in accordance with the terms of that agreement
6 * Copyright (c) 2012-2016 Twitch Interactive, Inc.
7 *********************************************************************************************/
8 
9 #pragma once
10 
11 namespace ttv
12 {
13  namespace chat
14  {
15  class IChatTransportReader;
16  class IChatTransport;
17  }
18 }
19 
20 
25 {
26 public:
30  virtual ~IChatTransportReader();
34  virtual void OnConnect(TTV_ErrorCode hr, const char* error) = 0;
38  virtual void OnError(TTV_ErrorCode hr) = 0;
42  virtual void OnClose() = 0;
46  virtual void OnRead(const char* pData, size_t nSize) = 0;
47 };
48 
49 
54 {
55 public:
56  static const uint32_t kMaxIrcTextLength = 2048;
57  static const uint32_t kMaxIrcTagsLength = 4096;
58  static const uint32_t kMaxBufferSize = kMaxIrcTextLength + kMaxIrcTagsLength;
59 
60 public:
64  virtual ~IChatTransport();
65  virtual TTV_ErrorCode Connect(const std::string& uri) = 0;
66  virtual TTV_ErrorCode Close() = 0;
67  virtual bool IsOpen() = 0;
68 
72  virtual void SetReader(std::shared_ptr<IChatTransportReader> reader) = 0;
76  virtual TTV_ErrorCode Write(const char* pData, size_t nSize) = 0;
82  virtual TTV_ErrorCode ProcessIncomingEvent(bool& handled) = 0;
83 };
JSON (JavaScript Object Notation).
Definition: adsapi.h:16
virtual void OnConnect(TTV_ErrorCode hr, const char *error)=0
virtual void OnRead(const char *pData, size_t nSize)=0
uint32_t TTV_ErrorCode
Definition: errortypes.h:30
virtual void OnError(TTV_ErrorCode hr)=0
Definition: ichattransport.h:24
Definition: ichattransport.h:53