blob: 3d13007e186c640fd9ff8d89349ff41143486fac (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
|
// Copyright 2004 Google, Inc. All Rights Reserved.
// Author: Joe Beda
#include <string>
#include <sstream>
#include <iostream>
#include "talk/base/gunit.h"
#include "talk/xmllite/xmlelement.h"
#include "talk/xmpp/xmppengine.h"
#include "talk/xmpp/util_unittest.h"
namespace buzz {
void XmppTestHandler::WriteOutput(const char * bytes, size_t len) {
output_ << std::string(bytes, len);
}
void XmppTestHandler::StartTls(const std::string & cname) {
output_ << "[START-TLS " << cname << "]";
}
void XmppTestHandler::CloseConnection() {
output_ << "[CLOSED]";
}
void XmppTestHandler::OnStateChange(int state) {
switch (static_cast<XmppEngine::State>(state)) {
case XmppEngine::STATE_START:
session_ << "[START]";
break;
case XmppEngine::STATE_OPENING:
session_ << "[OPENING]";
break;
case XmppEngine::STATE_OPEN:
session_ << "[OPEN]";
break;
case XmppEngine::STATE_CLOSED:
session_ << "[CLOSED]";
switch (engine_->GetError(NULL)) {
case XmppEngine::ERROR_NONE:
// do nothing
break;
case XmppEngine::ERROR_XML:
session_ << "[ERROR-XML]";
break;
case XmppEngine::ERROR_STREAM:
session_ << "[ERROR-STREAM]";
break;
case XmppEngine::ERROR_VERSION:
session_ << "[ERROR-VERSION]";
break;
case XmppEngine::ERROR_UNAUTHORIZED:
session_ << "[ERROR-UNAUTHORIZED]";
break;
case XmppEngine::ERROR_TLS:
session_ << "[ERROR-TLS]";
break;
case XmppEngine::ERROR_AUTH:
session_ << "[ERROR-AUTH]";
break;
case XmppEngine::ERROR_BIND:
session_ << "[ERROR-BIND]";
break;
case XmppEngine::ERROR_CONNECTION_CLOSED:
session_ << "[ERROR-CONNECTION-CLOSED]";
break;
case XmppEngine::ERROR_DOCUMENT_CLOSED:
session_ << "[ERROR-DOCUMENT-CLOSED]";
break;
default:
break;
}
break;
default:
break;
}
}
bool XmppTestHandler::HandleStanza(const XmlElement * stanza) {
stanza_ << stanza->Str();
return true;
}
std::string XmppTestHandler::OutputActivity() {
std::string result = output_.str();
output_.str("");
return result;
}
std::string XmppTestHandler::SessionActivity() {
std::string result = session_.str();
session_.str("");
return result;
}
std::string XmppTestHandler::StanzaActivity() {
std::string result = stanza_.str();
stanza_.str("");
return result;
}
} // namespace buzz
|