pubsub payloads/serializers
This commit is contained in:
parent
d0afb12646
commit
6ca2c3a931
21 changed files with 608 additions and 8 deletions
14
include/Swiften/Elements/PubSubItem.cpp
Normal file
14
include/Swiften/Elements/PubSubItem.cpp
Normal file
|
@ -0,0 +1,14 @@
|
|||
/*
|
||||
* Copyright (c) 2011 Jan Kaluza
|
||||
* Licensed under the Simplified BSD license.
|
||||
* See Documentation/Licenses/BSD-simplified.txt for more information.
|
||||
*/
|
||||
|
||||
#include <Swiften/Elements/PubSubItem.h>
|
||||
|
||||
namespace Swift {
|
||||
|
||||
PubSubItem::PubSubItem(const std::string &body) : body_(body) {
|
||||
}
|
||||
|
||||
}
|
35
include/Swiften/Elements/PubSubItem.h
Normal file
35
include/Swiften/Elements/PubSubItem.h
Normal file
|
@ -0,0 +1,35 @@
|
|||
/*
|
||||
* Copyright (c) 2011 Jan Kaluza
|
||||
* Licensed under the Simplified BSD license.
|
||||
* See Documentation/Licenses/BSD-simplified.txt for more information.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <vector>
|
||||
|
||||
#include <string>
|
||||
#include <Swiften/Elements/Payload.h>
|
||||
|
||||
namespace Swift {
|
||||
class PubSubItem : public Payload {
|
||||
public:
|
||||
PubSubItem(const std::string &body = "");
|
||||
|
||||
const std::string& getData() const { return body_; }
|
||||
|
||||
void setData(const std::string& body) {
|
||||
body_ = body;
|
||||
}
|
||||
|
||||
const std::string& getId() const { return id; }
|
||||
|
||||
void setId(const std::string& id) {
|
||||
this->id = id;
|
||||
}
|
||||
|
||||
private:
|
||||
std::string body_;
|
||||
std::string id;
|
||||
};
|
||||
}
|
14
include/Swiften/Elements/PubSubPayload.cpp
Normal file
14
include/Swiften/Elements/PubSubPayload.cpp
Normal file
|
@ -0,0 +1,14 @@
|
|||
/*
|
||||
* Copyright (c) 2011 Jan Kaluza
|
||||
* Licensed under the Simplified BSD license.
|
||||
* See Documentation/Licenses/BSD-simplified.txt for more information.
|
||||
*/
|
||||
|
||||
#include <Swiften/Elements/PubSubPayload.h>
|
||||
|
||||
namespace Swift {
|
||||
|
||||
PubSubPayload::PubSubPayload() {
|
||||
}
|
||||
|
||||
}
|
53
include/Swiften/Elements/PubSubPayload.h
Normal file
53
include/Swiften/Elements/PubSubPayload.h
Normal file
|
@ -0,0 +1,53 @@
|
|||
/*
|
||||
* Copyright (c) 2012 Jan Kaluza
|
||||
* Licensed under the Simplified BSD license.
|
||||
* See Documentation/Licenses/BSD-simplified.txt for more information.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <vector>
|
||||
|
||||
#include <string>
|
||||
#include <Swiften/Elements/Payload.h>
|
||||
|
||||
namespace Swift {
|
||||
class PubSubPayload : public Payload {
|
||||
public:
|
||||
PubSubPayload();
|
||||
|
||||
const std::vector<boost::shared_ptr<Payload> > getPayloads() const {
|
||||
return payloads;
|
||||
}
|
||||
|
||||
template<typename T>
|
||||
const std::vector<boost::shared_ptr<T> > getPayloads() const {
|
||||
std::vector<boost::shared_ptr<T> > matched_payloads;
|
||||
for (std::vector<boost::shared_ptr<Payload> >::const_iterator i = payloads.begin(); i != payloads.end(); ++i) {
|
||||
boost::shared_ptr<T> result = boost::dynamic_pointer_cast<T>(*i);
|
||||
if (result) {
|
||||
matched_payloads.push_back(result);
|
||||
}
|
||||
}
|
||||
|
||||
return matched_payloads;
|
||||
|
||||
}
|
||||
|
||||
template<typename T>
|
||||
const boost::shared_ptr<T> getPayload() const {
|
||||
boost::shared_ptr<T> result;
|
||||
for (std::vector<boost::shared_ptr<Payload> >::const_iterator i = payloads.begin(); i != payloads.end(); ++i) {
|
||||
result = boost::dynamic_pointer_cast<T>(*i);
|
||||
if (result) {
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
private:
|
||||
std::vector<boost::shared_ptr<Payload> > payloads;
|
||||
};
|
||||
}
|
16
include/Swiften/Elements/PubSubPublishPayload.cpp
Normal file
16
include/Swiften/Elements/PubSubPublishPayload.cpp
Normal file
|
@ -0,0 +1,16 @@
|
|||
/*
|
||||
* Copyright (c) 2011 Jan Kaluza
|
||||
* Licensed under the Simplified BSD license.
|
||||
* See Documentation/Licenses/BSD-simplified.txt for more information.
|
||||
*/
|
||||
|
||||
#include <Swiften/Elements/PubSubPublishPayload.h>
|
||||
|
||||
namespace Swift {
|
||||
|
||||
PubSubPublishPayload::PubSubPublishPayload(const std::string &node) :
|
||||
node(node) {
|
||||
|
||||
}
|
||||
|
||||
}
|
43
include/Swiften/Elements/PubSubPublishPayload.h
Normal file
43
include/Swiften/Elements/PubSubPublishPayload.h
Normal file
|
@ -0,0 +1,43 @@
|
|||
/*
|
||||
* Copyright (c) 2011 Jan Kaluza
|
||||
* Licensed under the Simplified BSD license.
|
||||
* See Documentation/Licenses/BSD-simplified.txt for more information.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <vector>
|
||||
|
||||
#include <string>
|
||||
#include <Swiften/Elements/Payload.h>
|
||||
#include <Swiften/Elements/PubSubItem.h>
|
||||
#include <Swiften/JID/JID.h>
|
||||
|
||||
namespace Swift {
|
||||
class PubSubPublishPayload : public Payload {
|
||||
public:
|
||||
enum Type { None, Pending, Subscribed, Unconfigured };
|
||||
|
||||
PubSubPublishPayload(const std::string &node = "");
|
||||
|
||||
void setNode(const std::string &node) {
|
||||
this->node = node;
|
||||
}
|
||||
|
||||
const std::string &getNode() const {
|
||||
return node;
|
||||
}
|
||||
|
||||
void addItem(const boost::shared_ptr<PubSubItem> &item) {
|
||||
items.push_back(item);
|
||||
}
|
||||
|
||||
const std::vector<boost::shared_ptr<PubSubItem> > &getItems() const {
|
||||
return items;
|
||||
}
|
||||
|
||||
private:
|
||||
std::string node;
|
||||
std::vector<boost::shared_ptr<PubSubItem> > items;
|
||||
};
|
||||
}
|
16
include/Swiften/Elements/PubSubSubscribePayload.cpp
Normal file
16
include/Swiften/Elements/PubSubSubscribePayload.cpp
Normal file
|
@ -0,0 +1,16 @@
|
|||
/*
|
||||
* Copyright (c) 2011 Jan Kaluza
|
||||
* Licensed under the Simplified BSD license.
|
||||
* See Documentation/Licenses/BSD-simplified.txt for more information.
|
||||
*/
|
||||
|
||||
#include <Swiften/Elements/PubSubSubscribePayload.h>
|
||||
|
||||
namespace Swift {
|
||||
|
||||
PubSubSubscribePayload::PubSubSubscribePayload(const JID &jid, const std::string &node) :
|
||||
jid(jid), node(node) {
|
||||
|
||||
}
|
||||
|
||||
}
|
40
include/Swiften/Elements/PubSubSubscribePayload.h
Normal file
40
include/Swiften/Elements/PubSubSubscribePayload.h
Normal file
|
@ -0,0 +1,40 @@
|
|||
/*
|
||||
* Copyright (c) 2011 Jan Kaluza
|
||||
* Licensed under the Simplified BSD license.
|
||||
* See Documentation/Licenses/BSD-simplified.txt for more information.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <vector>
|
||||
|
||||
#include <string>
|
||||
#include <Swiften/Elements/Payload.h>
|
||||
#include <Swiften/JID/JID.h>
|
||||
|
||||
namespace Swift {
|
||||
class PubSubSubscribePayload : public Payload {
|
||||
public:
|
||||
PubSubSubscribePayload(const JID &jid, const std::string &node = "");
|
||||
|
||||
void setJID(const JID &jid) {
|
||||
this->jid = jid;
|
||||
}
|
||||
|
||||
const JID &getJID() const {
|
||||
return jid;
|
||||
}
|
||||
|
||||
void setNode(const std::string &node) {
|
||||
this->node = node;
|
||||
}
|
||||
|
||||
const std::string &getNode() const {
|
||||
return node;
|
||||
}
|
||||
|
||||
private:
|
||||
JID jid;
|
||||
std::string node;
|
||||
};
|
||||
}
|
16
include/Swiften/Elements/PubSubSubscriptionPayload.cpp
Normal file
16
include/Swiften/Elements/PubSubSubscriptionPayload.cpp
Normal file
|
@ -0,0 +1,16 @@
|
|||
/*
|
||||
* Copyright (c) 2011 Jan Kaluza
|
||||
* Licensed under the Simplified BSD license.
|
||||
* See Documentation/Licenses/BSD-simplified.txt for more information.
|
||||
*/
|
||||
|
||||
#include <Swiften/Elements/PubSubSubscriptionPayload.h>
|
||||
|
||||
namespace Swift {
|
||||
|
||||
PubSubSubscriptionPayload::PubSubSubscriptionPayload(const JID &jid, const std::string &node) :
|
||||
jid(jid), node(node), type(None) {
|
||||
|
||||
}
|
||||
|
||||
}
|
60
include/Swiften/Elements/PubSubSubscriptionPayload.h
Normal file
60
include/Swiften/Elements/PubSubSubscriptionPayload.h
Normal file
|
@ -0,0 +1,60 @@
|
|||
/*
|
||||
* Copyright (c) 2011 Jan Kaluza
|
||||
* Licensed under the Simplified BSD license.
|
||||
* See Documentation/Licenses/BSD-simplified.txt for more information.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <vector>
|
||||
|
||||
#include <string>
|
||||
#include <Swiften/Elements/Payload.h>
|
||||
#include <Swiften/JID/JID.h>
|
||||
|
||||
namespace Swift {
|
||||
class PubSubSubscriptionPayload : public Payload {
|
||||
public:
|
||||
enum Type { None, Pending, Subscribed, Unconfigured };
|
||||
|
||||
PubSubSubscriptionPayload(const JID &jid, const std::string &node = "");
|
||||
|
||||
void setJID(const JID &jid) {
|
||||
this->jid = jid;
|
||||
}
|
||||
|
||||
const JID &getJID() const {
|
||||
return jid;
|
||||
}
|
||||
|
||||
void setNode(const std::string &node) {
|
||||
this->node = node;
|
||||
}
|
||||
|
||||
const std::string &getNode() const {
|
||||
return node;
|
||||
}
|
||||
|
||||
void setId(const std::string &id) {
|
||||
this->id = id;
|
||||
}
|
||||
|
||||
const std::string &getId() const {
|
||||
return id;
|
||||
}
|
||||
|
||||
void setType(const Type &type) {
|
||||
this->type = type;
|
||||
}
|
||||
|
||||
const Type &getType() const {
|
||||
return type;
|
||||
}
|
||||
|
||||
private:
|
||||
JID jid;
|
||||
std::string node;
|
||||
std::string id;
|
||||
Type type;
|
||||
};
|
||||
}
|
|
@ -0,0 +1,31 @@
|
|||
/*
|
||||
* Copyright (c) 2011 Jan Kaluza
|
||||
* Licensed under the Simplified BSD license.
|
||||
* See Documentation/Licenses/BSD-simplified.txt for more information.
|
||||
*/
|
||||
|
||||
#include <Swiften/Serializer/PayloadSerializers/PubSubItemSerializer.h>
|
||||
#include <Swiften/Base/foreach.h>
|
||||
#include <Swiften/Serializer/XML/XMLRawTextNode.h>
|
||||
#include <Swiften/Serializer/XML/XMLTextNode.h>
|
||||
#include <Swiften/Serializer/XML/XMLElement.h>
|
||||
|
||||
namespace Swift {
|
||||
|
||||
PubSubItemSerializer::PubSubItemSerializer() : GenericPayloadSerializer<PubSubItem>() {
|
||||
}
|
||||
|
||||
std::string PubSubItemSerializer::serializePayload(boost::shared_ptr<PubSubItem> payload) const {
|
||||
XMLElement item("item");
|
||||
if (!payload->getId().empty()) {
|
||||
item.setAttribute("id", payload->getId());
|
||||
}
|
||||
|
||||
boost::shared_ptr<XMLElement> body(new XMLElement("body", "http://www.w3.org/1999/xhtml"));
|
||||
body->addNode(boost::shared_ptr<XMLRawTextNode>(new XMLRawTextNode(payload->getData())));
|
||||
item.addNode(body);
|
||||
|
||||
return item.serialize();
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,19 @@
|
|||
/*
|
||||
* Copyright (c) 2011 Jan Kaluza
|
||||
* Licensed under the Simplified BSD license.
|
||||
* See Documentation/Licenses/BSD-simplified.txt for more information.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <Swiften/Serializer/GenericPayloadSerializer.h>
|
||||
#include <Swiften/Elements/PubSubItem.h>
|
||||
|
||||
namespace Swift {
|
||||
class PubSubItemSerializer : public GenericPayloadSerializer<PubSubItem> {
|
||||
public:
|
||||
PubSubItemSerializer();
|
||||
|
||||
virtual std::string serializePayload(boost::shared_ptr<PubSubItem> item) const;
|
||||
};
|
||||
}
|
|
@ -0,0 +1,36 @@
|
|||
/*
|
||||
* Copyright (c) 2011 Jan Kaluza
|
||||
* Licensed under the Simplified BSD license.
|
||||
* See Documentation/Licenses/BSD-simplified.txt for more information.
|
||||
*/
|
||||
|
||||
#include <Swiften/Serializer/PayloadSerializers/PubSubPayloadSerializer.h>
|
||||
#include <Swiften/Base/foreach.h>
|
||||
#include <Swiften/Serializer/XML/XMLRawTextNode.h>
|
||||
#include <Swiften/Serializer/XML/XMLTextNode.h>
|
||||
#include <Swiften/Serializer/XML/XMLElement.h>
|
||||
#include <Swiften/Serializer/PayloadSerializerCollection.h>
|
||||
|
||||
namespace Swift {
|
||||
|
||||
PubSubPayloadSerializer::PubSubPayloadSerializer(PayloadSerializerCollection *serializers)
|
||||
: GenericPayloadSerializer<PubSubPayload>(),
|
||||
serializers(serializers) {
|
||||
}
|
||||
|
||||
std::string PubSubPayloadSerializer::serializePayload(boost::shared_ptr<PubSubPayload> payload) const {
|
||||
XMLElement pubsub("pubsub", "http://jabber.org/protocol/pubsub");
|
||||
|
||||
if (!payload->getPayloads().empty()) {
|
||||
foreach(boost::shared_ptr<Payload> subPayload, payload->getPayloads()) {
|
||||
PayloadSerializer* serializer = serializers->getPayloadSerializer(subPayload);
|
||||
if (serializer) {
|
||||
pubsub.addNode(boost::shared_ptr<XMLRawTextNode>(new XMLRawTextNode(serializer->serialize(subPayload))));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return pubsub.serialize();
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,23 @@
|
|||
/*
|
||||
* Copyright (c) 2011 Jan Kaluza
|
||||
* Licensed under the Simplified BSD license.
|
||||
* See Documentation/Licenses/BSD-simplified.txt for more information.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <Swiften/Serializer/GenericPayloadSerializer.h>
|
||||
#include <Swiften/Elements/PubSubPayload.h>
|
||||
|
||||
namespace Swift {
|
||||
class PayloadSerializerCollection;
|
||||
|
||||
class PubSubPayloadSerializer : public GenericPayloadSerializer<PubSubPayload> {
|
||||
public:
|
||||
PubSubPayloadSerializer(PayloadSerializerCollection *serializers);
|
||||
|
||||
virtual std::string serializePayload(boost::shared_ptr<PubSubPayload> item) const;
|
||||
private:
|
||||
PayloadSerializerCollection *serializers;
|
||||
};
|
||||
}
|
|
@ -0,0 +1,40 @@
|
|||
/*
|
||||
* Copyright (c) 2011 Jan Kaluza
|
||||
* Licensed under the Simplified BSD license.
|
||||
* See Documentation/Licenses/BSD-simplified.txt for more information.
|
||||
*/
|
||||
|
||||
#include <Swiften/Serializer/PayloadSerializers/PubSubPublishPayloadSerializer.h>
|
||||
#include <Swiften/Base/foreach.h>
|
||||
#include <Swiften/Serializer/XML/XMLRawTextNode.h>
|
||||
#include <Swiften/Serializer/XML/XMLTextNode.h>
|
||||
#include <Swiften/Serializer/XML/XMLElement.h>
|
||||
#include <Swiften/Serializer/PayloadSerializerCollection.h>
|
||||
|
||||
namespace Swift {
|
||||
|
||||
PubSubPublishPayloadSerializer::PubSubPublishPayloadSerializer(PayloadSerializerCollection *serializers)
|
||||
: GenericPayloadSerializer<PubSubPublishPayload>(),
|
||||
serializers(serializers) {
|
||||
}
|
||||
|
||||
std::string PubSubPublishPayloadSerializer::serializePayload(boost::shared_ptr<PubSubPublishPayload> payload) const {
|
||||
XMLElement publish("publish");
|
||||
|
||||
if (!payload->getNode().empty()) {
|
||||
publish.setAttribute("node", payload->getNode());
|
||||
}
|
||||
|
||||
if (!payload->getItems().empty()) {
|
||||
foreach(boost::shared_ptr<PubSubItem> subPayload, payload->getItems()) {
|
||||
PayloadSerializer* serializer = serializers->getPayloadSerializer(subPayload);
|
||||
if (serializer) {
|
||||
publish.addNode(boost::shared_ptr<XMLRawTextNode>(new XMLRawTextNode(serializer->serialize(subPayload))));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return publish.serialize();
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,23 @@
|
|||
/*
|
||||
* Copyright (c) 2011 Jan Kaluza
|
||||
* Licensed under the Simplified BSD license.
|
||||
* See Documentation/Licenses/BSD-simplified.txt for more information.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <Swiften/Serializer/GenericPayloadSerializer.h>
|
||||
#include <Swiften/Elements/PubSubPublishPayload.h>
|
||||
|
||||
namespace Swift {
|
||||
class PayloadSerializerCollection;
|
||||
|
||||
class PubSubPublishPayloadSerializer : public GenericPayloadSerializer<PubSubPublishPayload> {
|
||||
public:
|
||||
PubSubPublishPayloadSerializer(PayloadSerializerCollection *serializers);
|
||||
|
||||
virtual std::string serializePayload(boost::shared_ptr<PubSubPublishPayload> item) const;
|
||||
private:
|
||||
PayloadSerializerCollection *serializers;
|
||||
};
|
||||
}
|
|
@ -0,0 +1,34 @@
|
|||
/*
|
||||
* Copyright (c) 2011 Jan Kaluza
|
||||
* Licensed under the Simplified BSD license.
|
||||
* See Documentation/Licenses/BSD-simplified.txt for more information.
|
||||
*/
|
||||
|
||||
#include <Swiften/Serializer/PayloadSerializers/PubSubSubscribePayloadSerializer.h>
|
||||
#include <Swiften/Base/foreach.h>
|
||||
#include <Swiften/Serializer/XML/XMLRawTextNode.h>
|
||||
#include <Swiften/Serializer/XML/XMLTextNode.h>
|
||||
#include <Swiften/Serializer/XML/XMLElement.h>
|
||||
#include <Swiften/Serializer/PayloadSerializerCollection.h>
|
||||
|
||||
namespace Swift {
|
||||
|
||||
PubSubSubscribePayloadSerializer::PubSubSubscribePayloadSerializer()
|
||||
: GenericPayloadSerializer<PubSubSubscribePayload>() {
|
||||
}
|
||||
|
||||
std::string PubSubSubscribePayloadSerializer::serializePayload(boost::shared_ptr<PubSubSubscribePayload> payload) const {
|
||||
XMLElement subscribe("subscribe");
|
||||
|
||||
if (!payload->getJID().isValid()) {
|
||||
subscribe.setAttribute("jid", payload->getJID().toBare().toString());
|
||||
}
|
||||
|
||||
if (!payload->getNode().empty()) {
|
||||
subscribe.setAttribute("node", payload->getNode());
|
||||
}
|
||||
|
||||
return subscribe.serialize();
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,19 @@
|
|||
/*
|
||||
* Copyright (c) 2011 Jan Kaluza
|
||||
* Licensed under the Simplified BSD license.
|
||||
* See Documentation/Licenses/BSD-simplified.txt for more information.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <Swiften/Serializer/GenericPayloadSerializer.h>
|
||||
#include <Swiften/Elements/PubSubSubscribePayload.h>
|
||||
|
||||
namespace Swift {
|
||||
class PubSubSubscribePayloadSerializer : public GenericPayloadSerializer<PubSubSubscribePayload> {
|
||||
public:
|
||||
PubSubSubscribePayloadSerializer();
|
||||
|
||||
virtual std::string serializePayload(boost::shared_ptr<PubSubSubscribePayload> item) const;
|
||||
};
|
||||
}
|
|
@ -0,0 +1,49 @@
|
|||
/*
|
||||
* Copyright (c) 2011 Jan Kaluza
|
||||
* Licensed under the Simplified BSD license.
|
||||
* See Documentation/Licenses/BSD-simplified.txt for more information.
|
||||
*/
|
||||
|
||||
#include <Swiften/Serializer/PayloadSerializers/PubSubSubscriptionPayloadSerializer.h>
|
||||
#include <Swiften/Base/foreach.h>
|
||||
#include <Swiften/Serializer/XML/XMLRawTextNode.h>
|
||||
#include <Swiften/Serializer/XML/XMLTextNode.h>
|
||||
#include <Swiften/Serializer/XML/XMLElement.h>
|
||||
#include <Swiften/Serializer/PayloadSerializerCollection.h>
|
||||
|
||||
namespace Swift {
|
||||
|
||||
PubSubSubscriptionPayloadSerializer::PubSubSubscriptionPayloadSerializer()
|
||||
: GenericPayloadSerializer<PubSubSubscriptionPayload>() {
|
||||
}
|
||||
|
||||
std::string PubSubSubscriptionPayloadSerializer::serializePayload(boost::shared_ptr<PubSubSubscriptionPayload> payload) const {
|
||||
XMLElement subscription("subscription");
|
||||
|
||||
if (!payload->getJID().isValid()) {
|
||||
subscription.setAttribute("jid", payload->getJID().toBare().toString());
|
||||
}
|
||||
|
||||
if (!payload->getNode().empty()) {
|
||||
subscription.setAttribute("node", payload->getNode());
|
||||
}
|
||||
|
||||
switch (payload->getType()) {
|
||||
case PubSubSubscriptionPayload::None:
|
||||
subscription.setAttribute("subscription", "none");
|
||||
break;
|
||||
case PubSubSubscriptionPayload::Subscribed:
|
||||
subscription.setAttribute("subscription", "subscribed");
|
||||
break;
|
||||
case PubSubSubscriptionPayload::Unconfigured:
|
||||
subscription.setAttribute("subscription", "unconfigured");
|
||||
break;
|
||||
case PubSubSubscriptionPayload::Pending:
|
||||
subscription.setAttribute("subscription", "pending");
|
||||
break;
|
||||
}
|
||||
|
||||
return subscription.serialize();
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,19 @@
|
|||
/*
|
||||
* Copyright (c) 2011 Jan Kaluza
|
||||
* Licensed under the Simplified BSD license.
|
||||
* See Documentation/Licenses/BSD-simplified.txt for more information.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <Swiften/Serializer/GenericPayloadSerializer.h>
|
||||
#include <Swiften/Elements/PubSubSubscriptionPayload.h>
|
||||
|
||||
namespace Swift {
|
||||
class PubSubSubscriptionPayloadSerializer : public GenericPayloadSerializer<PubSubSubscriptionPayload> {
|
||||
public:
|
||||
PubSubSubscriptionPayloadSerializer();
|
||||
|
||||
virtual std::string serializePayload(boost::shared_ptr<PubSubSubscriptionPayload> item) const;
|
||||
};
|
||||
}
|
|
@ -33,12 +33,12 @@ incoming_dir=/var/spool/sms/incoming
|
|||
#backend_config=/home/hanzz/code/libtransport/spectrum/src/backend-logging.cfg # log4cxx/log4j logging configuration file for backends
|
||||
|
||||
[database]
|
||||
#type = sqlite3 # or "none" without database backend
|
||||
#database = test.sql
|
||||
#prefix=icq
|
||||
type = mysql # or "none" without database backend.......................................................................................................................
|
||||
database = test
|
||||
prefix=
|
||||
user=root
|
||||
password=yourrootsqlpassword
|
||||
type = sqlite3 # or "none" without database backend
|
||||
database = test.sql
|
||||
prefix=icq
|
||||
#type = mysql # or "none" without database backend.......................................................................................................................
|
||||
#database = test
|
||||
#prefix=
|
||||
#user=root
|
||||
#password=yourrootsqlpassword
|
||||
#encryption_key=hanzzik
|
||||
|
|
Loading…
Add table
Reference in a new issue