Changeset - 99aff9256622
[Not reviewed]
0 3 0
Jan Kaluza - 14 years ago 2011-02-10 14:02:40
hanzz.k@gmail.com
Transport class signals
3 files changed with 45 insertions and 11 deletions:
0 comments (0 inline, 0 general)
examples/server_connect/main.cpp
Show inline comments
 
@@ -4,6 +4,22 @@
 
 
using namespace Transport;
 
 
static void onConnected() {
 
	std::cout << "Connected to Jabber Server!\n";
 
}
 
 
static void onConnectionError(const Swift::ComponentError&) {
 
	std::cout << "Connection Error!\n";
 
}
 
 
static void onXMLIn(const std::string &data) {
 
	std::cout << "[XML IN]" << data << "\n";
 
}
 
 
static void onXMLOut(const std::string &data) {
 
	std::cout << "[XML OUT]" << data << "\n";
 
}
 
 
int main(void)
 
{
 
	Config::Variables config;
 
@@ -14,4 +30,12 @@ int main(void)
 
 
	Swift::SimpleEventLoop eventLoop;
 
	Transport::Transport transport(&eventLoop, config);
 
 
	transport.onConnected.connect(&onConnected);
 
	transport.onConnectionError.connect(bind(&onConnectionError, _1));
 
	transport.onXMLIn.connect(bind(&onXMLIn, _1));
 
	transport.onXMLOut.connect(bind(&onXMLOut, _1));
 
 
	transport.connect();
 
	eventLoop.run();
 
}
include/transport/transport.h
Show inline comments
 
@@ -48,9 +48,12 @@ namespace Transport {
 

	
 
			// Connect to server
 
			void connect();
 
			
 
			Swift::Component *getComponent() { return m_component; }
 
		
 

	
 
			boost::signal<void (const Swift::ComponentError&)> onConnectionError;
 
			boost::signal<void ()> onConnected;
 
			boost::signal<void (const std::string &)> onXMLOut;
 
			boost::signal<void (const std::string &)> onXMLIn;
 

	
 
		private:
 
			void handleConnected();
 
			void handleConnectionError(const Swift::ComponentError &error);
 
@@ -59,9 +62,9 @@ namespace Transport {
 
// 			void handlePresence(Swift::Presence::ref presence);
 
// 			void handleSubscription(Swift::Presence::ref presence);
 
// 			void handleProbePresence(Swift::Presence::ref presence);
 
// 			void handleDataRead(const Swift::String &data);
 
// 			void handleDataWritten(const Swift::String &data);
 
// 			
 
			void handleDataRead(const Swift::String &data);
 
			void handleDataWritten(const Swift::String &data);
 

	
 
// 			void handleDiscoInfoResponse(boost::shared_ptr<Swift::DiscoInfo> info, const boost::optional<Swift::ErrorPayload>& error, const Swift::JID& jid);
 
// 			void handleCapsChanged(const Swift::JID& jid);
 

	
src/transport.cpp
Show inline comments
 
@@ -46,8 +46,8 @@ Transport::Transport(Swift::EventLoop *loop, Config::Variables &config) {
 
	m_component->setSoftwareVersion("", "");
 
	m_component->onConnected.connect(bind(&Transport::handleConnected, this));
 
	m_component->onError.connect(bind(&Transport::handleConnectionError, this, _1));
 
// 	m_component->onDataRead.connect(bind(&Transport::handleDataRead, this, _1));
 
// 	m_component->onDataWritten.connect(bind(&Transport::handleDataWritten, this, _1));
 
	m_component->onDataRead.connect(bind(&Transport::handleDataRead, this, _1));
 
	m_component->onDataWritten.connect(bind(&Transport::handleDataWritten, this, _1));
 
// 	m_component->onPresenceReceived.connect(bind(&Transport::handlePresenceReceived, this, _1));
 
// 	m_component->onMessageReceived.connect(bind(&Transport::handleMessageReceived, this, _1));
 

	
 
@@ -84,17 +84,24 @@ void Transport::connect() {
 
}
 

	
 
void Transport::handleConnected() {
 
	std::cout <<"Transport" << " CONNECTED!\n";
 
	onConnected();
 
	m_reconnectCount = 0;
 
}
 

	
 
void Transport::handleConnectionError(const ComponentError &error) {
 
	std::cout << "Transport" << " Disconnected from Jabber server!\n";
 

	
 
	onConnectionError(error);
 
// 	if (m_reconnectCount == 2)
 
// 		Transport::instance()->userManager()->removeAllUsers();
 

	
 
	m_reconnectTimer->start();
 
}
 

	
 
void Transport::handleDataRead(const String &data) {
 
	onXMLIn(data.getUTF8String());
 
}
 

	
 
void Transport::handleDataWritten(const String &data) {
 
	onXMLOut(data.getUTF8String());
 
}
 

	
 
}
0 comments (0 inline, 0 general)