/usr/include/PajeDefinitions.h is in libpaje-dev 1.1+git20140604.1d5509f042-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 | /*
This file is part of PajeNG
PajeNG is free software: you can redistribute it and/or modify
it under the terms of the GNU Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
PajeNG 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 Public License for more details.
You should have received a copy of the GNU Public License
along with PajeNG. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef __PAJE_DEFINITIONS_H__
#define __PAJE_DEFINITIONS_H__
#include <boost/bimap.hpp>
#include <string>
#include <map>
typedef enum {
PajeDefineContainerTypeEventId,
PajeDefineEventTypeEventId,
PajeDefineStateTypeEventId,
PajeDefineVariableTypeEventId,
PajeDefineLinkTypeEventId,
PajeDefineEntityValueEventId,
PajeCreateContainerEventId,
PajeDestroyContainerEventId,
PajeNewEventEventId,
PajeSetStateEventId,
PajePushStateEventId,
PajePopStateEventId,
PajeResetStateEventId,
PajeSetVariableEventId,
PajeAddVariableEventId,
PajeSubVariableEventId,
PajeStartLinkEventId,
PajeEndLinkEventId,
PajeEventIdCount,
PajeUnknownEventId,
} PajeEventId;
typedef enum {
PAJE_Event,
PAJE_Time,
PAJE_Name,
PAJE_Type,
PAJE_Container,
PAJE_StartContainerType,
PAJE_EndContainerType,
PAJE_StartContainer,
PAJE_EndContainer,
PAJE_Value,
PAJE_Key,
PAJE_Alias,
PAJE_Color,
PAJE_Line,
PAJE_File,
PAJE_Extra, //for user-defined fields
PAJE_Unknown_Field
} PajeField;
typedef enum {
PAJE_string,
PAJE_float,
PAJE_double,
PAJE_int,
PAJE_hex,
PAJE_date,
PAJE_color,
PAJE_unknown_field_type
} PajeFieldType;
typedef boost::bimap<std::string,PajeEventId> event_names_dictionary_t;
typedef boost::bimap<std::string,PajeField> field_names_dictionary_t;
typedef boost::bimap<std::string,PajeFieldType> field_names_type_dictionary_t;
class PajeDefinitions {
private:
event_names_dictionary_t eventNames;
field_names_dictionary_t fieldNames;
field_names_type_dictionary_t fieldTypeNames;
public:
std::map<PajeEventId,std::set<PajeField> > obligatoryFields;
std::map<PajeEventId,std::set<PajeField> > optionalFields;
public:
PajeDefinitions ();
PajeDefinitions (bool strict);
std::string eventNameFromID (PajeEventId event);
std::string fieldNameFromID (PajeField field);
std::string fieldTypeNameFromID (PajeFieldType type);
PajeEventId idFromEventName (std::string event);
PajeField idFromFieldName (std::string field);
PajeFieldType idFromFieldTypeName (std::string type);
bool validEvent (PajeEventId event);
bool validField (PajeField field);
bool validFieldType (PajeFieldType field);
private:
void initialize (bool strict);
};
#endif
|