/usr/include/Swiften/Elements/IBB.h is in libswiften-dev 2.0~beta1+dev47-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
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 103 104 105 106 107 | /*
* Copyright (c) 2010 Remko Tronçon
* Licensed under the GNU General Public License v3.
* See Documentation/Licenses/GPLv3.txt for more information.
*/
#pragma once
#include <string>
#include <vector>
#include <boost/shared_ptr.hpp>
#include <boost/smart_ptr/make_shared.hpp>
#include <Swiften/Elements/Payload.h>
namespace Swift {
class IBB : public Payload {
public:
typedef boost::shared_ptr<IBB> ref;
enum Action {
Open,
Close,
Data,
};
enum StanzaType {
IQStanza,
MessageStanza,
};
IBB(Action action = Open, const std::string& streamID = "") : action(action), streamID(streamID), stanzaType(IQStanza), blockSize(-1), sequenceNumber(-1) {
}
static IBB::ref createIBBOpen(const std::string& streamID, int blockSize) {
IBB::ref result = boost::make_shared<IBB>(Open, streamID);
result->setBlockSize(blockSize);
return result;
}
static IBB::ref createIBBData(const std::string& streamID, int sequenceNumber, const std::vector<unsigned char>& data) {
IBB::ref result = boost::make_shared<IBB>(Data, streamID);
result->setSequenceNumber(sequenceNumber);
result->setData(data);
return result;
}
static IBB::ref createIBBClose(const std::string& streamID) {
return boost::make_shared<IBB>(Close, streamID);
}
void setAction(Action action) {
this->action = action;
}
Action getAction() const {
return action;
}
void setStanzaType(StanzaType stanzaType) {
this->stanzaType = stanzaType;
}
StanzaType getStanzaType() const {
return stanzaType;
}
void setStreamID(const std::string& id) {
streamID = id;
}
const std::string& getStreamID() const {
return streamID;
}
const std::vector<unsigned char>& getData() const {
return data;
}
void setData(const std::vector<unsigned char>& data) {
this->data = data;
}
int getBlockSize() const {
return blockSize;
}
void setBlockSize(int blockSize) {
this->blockSize = blockSize;
}
int getSequenceNumber() const {
return sequenceNumber;
}
void setSequenceNumber(int i) {
sequenceNumber = i;
}
private:
Action action;
std::string streamID;
std::vector<unsigned char> data;
StanzaType stanzaType;
int blockSize;
int sequenceNumber;
};
}
|