/usr/include/ns3/config-store.h is in libns3-dev 3.13+dfsg-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 | #ifndef CONFIG_STORE_H
#define CONFIG_STORE_H
#include "ns3/object-base.h"
#include "file-config.h"
namespace ns3 {
/**
* \defgroup configstore Config-Store
*
* \brief Store and load simulation attribute configuration
*
* While it is possible to generate a sample config file and lightly
* edit it to change a couple of values, there are cases where this
* process will not work because the same value on the same object
* can appear multiple times in the same automatically-generated
* configuration file under different configuration paths.
*
* As such, the best way to use this class is to use it to generate
* an initial configuration file, extract from that configuration
* file only the strictly necessary elements, and move these minimal
* elements to a new configuration file which can then safely
* be edited. Another option is to use the ns3::GtkConfigStore class
* which will allow you to edit the parameters and will generate
* configuration files where all the instances of the same parameter
* are changed.
*/
/**
* \ingroup configstore
*
*/
class ConfigStore : public ObjectBase
{
public:
enum Mode {
LOAD,
SAVE,
NONE
};
enum FileFormat {
XML,
RAW_TEXT
};
static TypeId GetTypeId (void);
virtual TypeId GetInstanceTypeId (void) const;
ConfigStore ();
~ConfigStore ();
void SetMode (enum Mode mode);
void SetFileFormat (enum FileFormat format);
void SetFilename (std::string filename);
void ConfigureDefaults (void);
void ConfigureAttributes (void);
private:
enum Mode m_mode;
enum FileFormat m_fileFormat;
std::string m_filename;
FileConfig *m_file;
};
} // namespace ns3
#endif /* CONFIG_STORE_H */
|