00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef __DATA_OUTPUT_INTERFACE_H__
00022 #define __DATA_OUTPUT_INTERFACE_H__
00023
00024 #include "ns3/object.h"
00025 #include "ns3/nstime.h"
00026
00027 namespace ns3 {
00028
00029 class DataCollector;
00030
00031
00032
00033 class DataOutputInterface : public Object {
00034 public:
00035 DataOutputInterface();
00036 virtual ~DataOutputInterface();
00037
00038 virtual void Output(DataCollector &dc) = 0;
00039
00040 protected:
00041 virtual void DoDispose();
00042
00043
00044 };
00045
00046 class DataOutputCallback {
00047 public:
00048 virtual ~DataOutputCallback() {}
00049
00050 virtual void OutputSingleton(std::string key,
00051 std::string variable,
00052 int val) = 0;
00053
00054 virtual void OutputSingleton(std::string key,
00055 std::string variable,
00056 uint32_t val) = 0;
00057
00058 virtual void OutputSingleton(std::string key,
00059 std::string variable,
00060 double val) = 0;
00061
00062 virtual void OutputSingleton(std::string key,
00063 std::string variable,
00064 std::string val) = 0;
00065
00066 virtual void OutputSingleton(std::string key,
00067 std::string variable,
00068 Time val) = 0;
00069
00070 };
00071
00072
00073 };
00074
00075
00076 #endif // __DATA_OUTPUT_INTERFACE_H__