/usr/include/Swiften/Elements/Command.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 | /*
* Copyright (c) 2010 Kevin Smith
* Licensed under the GNU General Public License v3.
* See Documentation/Licenses/GPLv3.txt for more information.
*/
#pragma once
#include <boost/shared_ptr.hpp>
#include <string>
#include <Swiften/Elements/Payload.h>
#include <Swiften/Elements/Form.h>
namespace Swift {
/**
* Ad-Hoc Command (XEP-0050).
*/
class Command : public Payload {
public:
typedef boost::shared_ptr<Command> ref;
enum Status {Executing, Completed, Canceled, NoStatus};
enum Action {Cancel, Execute, Complete, Prev, Next, NoAction};
struct Note {
enum Type {Info, Warn, Error};
Note(std::string note, Type type) : note(note), type(type) {};
std::string note;
Type type;
};
public:
Command(const std::string& node, const std::string& sessionID, Status status) { constructor(node, sessionID, NoAction, status);}
Command(const std::string& node = "", const std::string& sessionID = "", Action action = Execute) { constructor(node, sessionID, action, NoStatus); }
const std::string& getNode() const { return node_; }
void setNode(const std::string& node) { node_ = node; }
const std::string& getSessionID() const { return sessionID_; }
void setSessionID(const std::string& id) { sessionID_ = id; }
Action getAction() const { return action_; }
void setAction(Action action) { action_ = action; }
void setExecuteAction(Action action) { executeAction_ = action; }
Action getExecuteAction() const { return executeAction_; }
Status getStatus() const { return status_; }
void setStatus(Status status) { status_ = status; }
void addAvailableAction(Action action) { availableActions_.push_back(action); }
const std::vector<Action>& getAvailableActions() const { return availableActions_; }
void addNote(const Note& note) { notes_.push_back(note); }
const std::vector<Note>& getNotes() const { return notes_; }
Form::ref getForm() const { return form_; }
void setForm(Form::ref payload) { form_ = payload; }
private:
void constructor(const std::string& node, const std::string& sessionID, Action action, Status status) {
node_ = node;
sessionID_ = sessionID;
action_ = action;
status_ = status;
executeAction_ = NoAction;
}
private:
std::string node_;
std::string sessionID_;
Action action_;
Status status_;
Action executeAction_;
std::vector<Action> availableActions_;
std::vector<Note> notes_;
Form::ref form_;
};
}
|