src/common/trace-container.h
changeset 16 99e833adbb46
parent 14 6dd7d31c6fc3
child 40 90845b5a0049
equal deleted inserted replaced
15:a5b06c32e28a 16:99e833adbb46
    29 #include "ns3/callback.h"
    29 #include "ns3/callback.h"
    30 #include "packet.h"
    30 #include "packet.h"
    31 #include <list>
    31 #include <list>
    32 #include <string>
    32 #include <string>
    33 
    33 
    34 namespace yans {
    34 namespace ns3 {
    35 
    35 
    36 class PacketLogger;
    36 class PacketLogger;
    37 class TraceStream;
    37 class TraceStream;
    38 
    38 
    39 /**
    39 /**
    43  * their trace event sources. Model users use the TraceContainer
    43  * their trace event sources. Model users use the TraceContainer
    44  * class to connect their trace event listeners to the
    44  * class to connect their trace event listeners to the
    45  * model trace event sources.
    45  * model trace event sources.
    46  *
    46  *
    47  * TraceContainer can be used to register the following event sources:
    47  * TraceContainer can be used to register the following event sources:
    48  *   - yans::PacketLogger : can be connected to yans::PcapWriter
    48  *   - ns3::PacketLogger : can be connected to ns3::PcapWriter
    49  *   - yans::TraceStream : can be connected to any std::ostream
    49  *   - ns3::TraceStream : can be connected to any std::ostream
    50  *   - yans::CallbackLogger: can be connected to yans::Callback
    50  *   - ns3::CallbackLogger: can be connected to ns3::Callback
    51  *   - yans::UiTracedVariable
    51  *   - ns3::UiTracedVariable
    52  *   - yans::SiTracedVariable
    52  *   - ns3::SiTracedVariable
    53  *   - yans::FTracedVariable
    53  *   - ns3::FTracedVariable
    54  *
    54  *
    55  * The following sample code shows how you can:
    55  * The following sample code shows how you can:
    56  *   - create trace event sources
    56  *   - create trace event sources
    57  *   - register the trace event sources in a trace container
    57  *   - register the trace event sources in a trace container
    58  *   - set event sinks to each event source
    58  *   - set event sinks to each event source
   212 	PacketLoggerList m_packet_logger_list;
   212 	PacketLoggerList m_packet_logger_list;
   213 	TraceStreamList m_trace_stream_list;
   213 	TraceStreamList m_trace_stream_list;
   214 	CallbackList m_callback_list;
   214 	CallbackList m_callback_list;
   215 };
   215 };
   216 
   216 
   217 }; // namespace yans
   217 }; // namespace ns3
   218 
   218 
   219 #ifndef NDEBUG
   219 #ifndef NDEBUG
   220 #include <cassert>
   220 #include <cassert>
   221 #endif
   221 #endif
   222 
   222 
   223 namespace yans {
   223 namespace ns3 {
   224 
   224 
   225 template <typename T1>
   225 template <typename T1>
   226 void 
   226 void 
   227 TraceContainer::set_callback (char const *name, Callback<void,T1> callback)
   227 TraceContainer::set_callback (char const *name, Callback<void,T1> callback)
   228 {
   228 {
   292 	assert (false);
   292 	assert (false);
   293 #endif
   293 #endif
   294 }
   294 }
   295 
   295 
   296 
   296 
   297 }; // namespace yans
   297 }; // namespace ns3
   298 
   298 
   299 #endif /* TRACED_VARIABLE_CONTAINER_H */
   299 #endif /* TRACED_VARIABLE_CONTAINER_H */