/usr/include/belcard/belcard_params.hpp is in libbelcard-dev 1.0.2-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 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 | /*
belcard_params.hpp
Copyright (C) 2015 Belledonne Communications SARL
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef belcard_params_hpp
#define belcard_params_hpp
#include <belr/grammarbuilder.hh>
#include <belr/abnf.hh>
#include "belcard_utils.hpp"
#include "belcard_generic.hpp"
#include <string>
#include <sstream>
namespace belcard {
class BelCardParam : public BelCardGeneric {
private:
std::string _name;
std::string _value;
public:
template <typename T>
static std::shared_ptr<T> parseParam(const std::string& rule, const std::string& input);
static std::shared_ptr<BelCardParam> parse(const std::string& input);
static void setHandlerAndCollectors(belr::Parser<std::shared_ptr<BelCardGeneric>> *parser);
static void setAllParamsHandlersAndCollectors(belr::Parser<std::shared_ptr<BelCardGeneric>> *parser);
BELCARD_PUBLIC BelCardParam();
BELCARD_PUBLIC virtual void setName(const std::string &name);
BELCARD_PUBLIC virtual const std::string &getName() const;
BELCARD_PUBLIC virtual void setValue(const std::string &value) ;
BELCARD_PUBLIC virtual const std::string &getValue() const;
BELCARD_PUBLIC virtual void serialize(std::ostream &output) const;
};
class BelCardLanguageParam : public BelCardParam {
public:
BELCARD_PUBLIC static std::shared_ptr<BelCardLanguageParam> parse(const std::string& input);
BELCARD_PUBLIC static void setHandlerAndCollectors(belr::Parser<std::shared_ptr<BelCardGeneric>> *parser);
BELCARD_PUBLIC BelCardLanguageParam();
};
class BelCardValueParam : public BelCardParam {
public:
BELCARD_PUBLIC static std::shared_ptr<BelCardValueParam> parse(const std::string& input);
BELCARD_PUBLIC static void setHandlerAndCollectors(belr::Parser<std::shared_ptr<BelCardGeneric>> *parser);
BELCARD_PUBLIC BelCardValueParam();
};
class BelCardPrefParam : public BelCardParam {
public:
BELCARD_PUBLIC static std::shared_ptr<BelCardPrefParam> parse(const std::string& input);
BELCARD_PUBLIC static void setHandlerAndCollectors(belr::Parser<std::shared_ptr<BelCardGeneric>> *parser);
BELCARD_PUBLIC BelCardPrefParam();
};
class BelCardAlternativeIdParam : public BelCardParam {
public:
BELCARD_PUBLIC static std::shared_ptr<BelCardAlternativeIdParam> parse(const std::string& input);
BELCARD_PUBLIC static void setHandlerAndCollectors(belr::Parser<std::shared_ptr<BelCardGeneric>> *parser);
BELCARD_PUBLIC BelCardAlternativeIdParam();
};
class BelCardParamIdParam : public BelCardParam {
public:
BELCARD_PUBLIC static std::shared_ptr<BelCardParamIdParam> parse(const std::string& input);
BELCARD_PUBLIC static void setHandlerAndCollectors(belr::Parser<std::shared_ptr<BelCardGeneric>> *parser);
BELCARD_PUBLIC BelCardParamIdParam();
};
class BelCardTypeParam : public BelCardParam {
public:
BELCARD_PUBLIC static std::shared_ptr<BelCardTypeParam> parse(const std::string& input);
BELCARD_PUBLIC static void setHandlerAndCollectors(belr::Parser<std::shared_ptr<BelCardGeneric>> *parser);
BELCARD_PUBLIC BelCardTypeParam();
};
class BelCardMediaTypeParam : public BelCardParam {
public:
BELCARD_PUBLIC static std::shared_ptr<BelCardMediaTypeParam> parse(const std::string& input);
BELCARD_PUBLIC static void setHandlerAndCollectors(belr::Parser<std::shared_ptr<BelCardGeneric>> *parser);
BELCARD_PUBLIC BelCardMediaTypeParam();
};
class BelCardCALSCALEParam : public BelCardParam {
public:
BELCARD_PUBLIC static std::shared_ptr<BelCardCALSCALEParam> parse(const std::string& input);
BELCARD_PUBLIC static void setHandlerAndCollectors(belr::Parser<std::shared_ptr<BelCardGeneric>> *parser);
BELCARD_PUBLIC BelCardCALSCALEParam();
};
class BelCardSortAsParam : public BelCardParam {
public:
BELCARD_PUBLIC static std::shared_ptr<BelCardSortAsParam> parse(const std::string& input);
BELCARD_PUBLIC static void setHandlerAndCollectors(belr::Parser<std::shared_ptr<BelCardGeneric>> *parser);
BELCARD_PUBLIC BelCardSortAsParam();
};
class BelCardGeoParam : public BelCardParam {
public:
BELCARD_PUBLIC static std::shared_ptr<BelCardGeoParam> parse(const std::string& input);
BELCARD_PUBLIC static void setHandlerAndCollectors(belr::Parser<std::shared_ptr<BelCardGeneric>> *parser);
BELCARD_PUBLIC BelCardGeoParam();
};
class BelCardTimezoneParam : public BelCardParam {
public:
BELCARD_PUBLIC static std::shared_ptr<BelCardTimezoneParam> parse(const std::string& input);
BELCARD_PUBLIC static void setHandlerAndCollectors(belr::Parser<std::shared_ptr<BelCardGeneric>> *parser);
BELCARD_PUBLIC BelCardTimezoneParam();
};
class BelCardLabelParam : public BelCardParam {
public:
BELCARD_PUBLIC static std::shared_ptr<BelCardLabelParam> parse(const std::string& input);
BELCARD_PUBLIC static void setHandlerAndCollectors(belr::Parser<std::shared_ptr<BelCardGeneric>> *parser);
BELCARD_PUBLIC BelCardLabelParam();
};
}
#endif
|