src/core/trace-doc.h
author Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
Sun, 02 Mar 2008 21:00:37 +0100
changeset 2531 b451b5fc8b57
parent 1423 49fe777a9fd1
permissions -rw-r--r--
implement context-based trace connection
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1378
69391eb72cb3 document trace source signature
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
     1
#ifndef TRACE_DOC_H
69391eb72cb3 document trace source signature
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
     2
#define TRACE_DOC_H
69391eb72cb3 document trace source signature
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
     3
69391eb72cb3 document trace source signature
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
     4
#include <vector>
69391eb72cb3 document trace source signature
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
     5
#include <string>
69391eb72cb3 document trace source signature
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
     6
69391eb72cb3 document trace source signature
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
     7
namespace ns3 {
69391eb72cb3 document trace source signature
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
     8
1423
49fe777a9fd1 add a few missing doxygen method documentations
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1379
diff changeset
     9
/**
49fe777a9fd1 add a few missing doxygen method documentations
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1379
diff changeset
    10
 * \brief describe the signature of a trace source
49fe777a9fd1 add a few missing doxygen method documentations
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1379
diff changeset
    11
 */
1378
69391eb72cb3 document trace source signature
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    12
class TraceDoc
69391eb72cb3 document trace source signature
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    13
{
69391eb72cb3 document trace source signature
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    14
  typedef std::vector<std::pair<std::string,std::string> > ArgVector;
69391eb72cb3 document trace source signature
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    15
public:
69391eb72cb3 document trace source signature
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    16
  typedef ArgVector::const_iterator Iterator;
1379
f323d2dcdaf6 document trace source signatures
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1378
diff changeset
    17
  TraceDoc ();
1423
49fe777a9fd1 add a few missing doxygen method documentations
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1379
diff changeset
    18
  /**
49fe777a9fd1 add a few missing doxygen method documentations
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1379
diff changeset
    19
   * \param help a description of the purpose of the trace source
49fe777a9fd1 add a few missing doxygen method documentations
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1379
diff changeset
    20
   */
1378
69391eb72cb3 document trace source signature
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    21
  TraceDoc (std::string help);
1423
49fe777a9fd1 add a few missing doxygen method documentations
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1379
diff changeset
    22
  /**
49fe777a9fd1 add a few missing doxygen method documentations
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1379
diff changeset
    23
   * \param help a description of the purpose of the trace source
49fe777a9fd1 add a few missing doxygen method documentations
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1379
diff changeset
    24
   * \param arg1Type the fully-qualified typename of the first argument of the trace source
49fe777a9fd1 add a few missing doxygen method documentations
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1379
diff changeset
    25
   * \param arg1Help the purpose of the first argument of the trace source
49fe777a9fd1 add a few missing doxygen method documentations
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1379
diff changeset
    26
   */
1378
69391eb72cb3 document trace source signature
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    27
  TraceDoc (std::string help,
69391eb72cb3 document trace source signature
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    28
	    std::string arg1Type,
69391eb72cb3 document trace source signature
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    29
	    std::string arg1Help);
1423
49fe777a9fd1 add a few missing doxygen method documentations
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1379
diff changeset
    30
  /**
49fe777a9fd1 add a few missing doxygen method documentations
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1379
diff changeset
    31
   * \param help a description of the purpose of the trace source
49fe777a9fd1 add a few missing doxygen method documentations
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1379
diff changeset
    32
   * \param arg1Type the fully-qualified typename of the first argument of the trace source
49fe777a9fd1 add a few missing doxygen method documentations
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1379
diff changeset
    33
   * \param arg1Help the purpose of the first argument of the trace source
49fe777a9fd1 add a few missing doxygen method documentations
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1379
diff changeset
    34
   * \param arg2Type the fully-qualified typename of the second argument of the trace source
49fe777a9fd1 add a few missing doxygen method documentations
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1379
diff changeset
    35
   * \param arg2Help the purpose of the second argument of the trace source
49fe777a9fd1 add a few missing doxygen method documentations
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1379
diff changeset
    36
   */
1378
69391eb72cb3 document trace source signature
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    37
  TraceDoc (std::string help,
69391eb72cb3 document trace source signature
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    38
	    std::string arg1Type,
69391eb72cb3 document trace source signature
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    39
	    std::string arg1Help,
69391eb72cb3 document trace source signature
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    40
	    std::string arg2Type,
69391eb72cb3 document trace source signature
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    41
	    std::string arg2Help);
1423
49fe777a9fd1 add a few missing doxygen method documentations
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1379
diff changeset
    42
  /**
49fe777a9fd1 add a few missing doxygen method documentations
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1379
diff changeset
    43
   * \param help a description of the purpose of the trace source
49fe777a9fd1 add a few missing doxygen method documentations
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1379
diff changeset
    44
   * \param arg1Type the fully-qualified typename of the first argument of the trace source
49fe777a9fd1 add a few missing doxygen method documentations
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1379
diff changeset
    45
   * \param arg1Help the purpose of the first argument of the trace source
49fe777a9fd1 add a few missing doxygen method documentations
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1379
diff changeset
    46
   * \param arg2Type the fully-qualified typename of the second argument of the trace source
49fe777a9fd1 add a few missing doxygen method documentations
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1379
diff changeset
    47
   * \param arg2Help the purpose of the second argument of the trace source
49fe777a9fd1 add a few missing doxygen method documentations
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1379
diff changeset
    48
   * \param arg3Type the fully-qualified typename of the third argument of the trace source
49fe777a9fd1 add a few missing doxygen method documentations
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1379
diff changeset
    49
   * \param arg3Help the purpose of the third argument of the trace source
49fe777a9fd1 add a few missing doxygen method documentations
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1379
diff changeset
    50
   */
1378
69391eb72cb3 document trace source signature
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    51
  TraceDoc (std::string help,
69391eb72cb3 document trace source signature
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    52
	    std::string arg1Type,
69391eb72cb3 document trace source signature
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    53
	    std::string arg1Help,
69391eb72cb3 document trace source signature
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    54
	    std::string arg2Type,
69391eb72cb3 document trace source signature
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    55
	    std::string arg2Help,
69391eb72cb3 document trace source signature
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    56
	    std::string arg3Type,
69391eb72cb3 document trace source signature
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    57
	    std::string arg3Help);
1423
49fe777a9fd1 add a few missing doxygen method documentations
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1379
diff changeset
    58
  /**
49fe777a9fd1 add a few missing doxygen method documentations
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1379
diff changeset
    59
   * \param help a description of the purpose of the trace source
49fe777a9fd1 add a few missing doxygen method documentations
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1379
diff changeset
    60
   * \param arg1Type the fully-qualified typename of the first argument of the trace source
49fe777a9fd1 add a few missing doxygen method documentations
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1379
diff changeset
    61
   * \param arg1Help the purpose of the first argument of the trace source
49fe777a9fd1 add a few missing doxygen method documentations
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1379
diff changeset
    62
   * \param arg2Type the fully-qualified typename of the second argument of the trace source
49fe777a9fd1 add a few missing doxygen method documentations
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1379
diff changeset
    63
   * \param arg2Help the purpose of the second argument of the trace source
49fe777a9fd1 add a few missing doxygen method documentations
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1379
diff changeset
    64
   * \param arg3Type the fully-qualified typename of the third argument of the trace source
49fe777a9fd1 add a few missing doxygen method documentations
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1379
diff changeset
    65
   * \param arg3Help the purpose of the third argument of the trace source
49fe777a9fd1 add a few missing doxygen method documentations
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1379
diff changeset
    66
   * \param arg4Type the fully-qualified typename of the fourth argument of the trace source
49fe777a9fd1 add a few missing doxygen method documentations
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1379
diff changeset
    67
   * \param arg4Help the purpose of the fourth argument of the trace source
49fe777a9fd1 add a few missing doxygen method documentations
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1379
diff changeset
    68
   */
49fe777a9fd1 add a few missing doxygen method documentations
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1379
diff changeset
    69
  TraceDoc (std::string help,
49fe777a9fd1 add a few missing doxygen method documentations
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1379
diff changeset
    70
	    std::string arg1Type,
49fe777a9fd1 add a few missing doxygen method documentations
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1379
diff changeset
    71
	    std::string arg1Help,
49fe777a9fd1 add a few missing doxygen method documentations
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1379
diff changeset
    72
	    std::string arg2Type,
49fe777a9fd1 add a few missing doxygen method documentations
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1379
diff changeset
    73
	    std::string arg2Help,
49fe777a9fd1 add a few missing doxygen method documentations
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1379
diff changeset
    74
	    std::string arg3Type,
49fe777a9fd1 add a few missing doxygen method documentations
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1379
diff changeset
    75
	    std::string arg3Help,
49fe777a9fd1 add a few missing doxygen method documentations
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1379
diff changeset
    76
	    std::string arg4Type,
49fe777a9fd1 add a few missing doxygen method documentations
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1379
diff changeset
    77
	    std::string arg4Help);
49fe777a9fd1 add a few missing doxygen method documentations
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1379
diff changeset
    78
  /**
49fe777a9fd1 add a few missing doxygen method documentations
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1379
diff changeset
    79
   * \returns the help string associated to this trace source
49fe777a9fd1 add a few missing doxygen method documentations
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1379
diff changeset
    80
   */
1379
f323d2dcdaf6 document trace source signatures
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1378
diff changeset
    81
  std::string GetHelp (void) const;
1423
49fe777a9fd1 add a few missing doxygen method documentations
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1379
diff changeset
    82
  /**
49fe777a9fd1 add a few missing doxygen method documentations
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1379
diff changeset
    83
   * \returns an iterator which points to the first descriptor of the trace source.
49fe777a9fd1 add a few missing doxygen method documentations
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1379
diff changeset
    84
   *
49fe777a9fd1 add a few missing doxygen method documentations
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1379
diff changeset
    85
   * Each descriptor is a pair of strings. The first one describes the type of the argument
49fe777a9fd1 add a few missing doxygen method documentations
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1379
diff changeset
    86
   * while the second one describeds the purpose of the argument.
49fe777a9fd1 add a few missing doxygen method documentations
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1379
diff changeset
    87
   */
1378
69391eb72cb3 document trace source signature
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    88
  Iterator ArgsBegin (void) const;
1423
49fe777a9fd1 add a few missing doxygen method documentations
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1379
diff changeset
    89
  /**
49fe777a9fd1 add a few missing doxygen method documentations
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1379
diff changeset
    90
   * \returns an iterator which points to the last descriptor of the trace source.
49fe777a9fd1 add a few missing doxygen method documentations
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1379
diff changeset
    91
   *
49fe777a9fd1 add a few missing doxygen method documentations
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1379
diff changeset
    92
   * Each descriptor is a pair of strings. The first one describes the type of the argument
49fe777a9fd1 add a few missing doxygen method documentations
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1379
diff changeset
    93
   * while the second one describeds the purpose of the argument.
49fe777a9fd1 add a few missing doxygen method documentations
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 1379
diff changeset
    94
   */
1378
69391eb72cb3 document trace source signature
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    95
  Iterator ArgsEnd (void) const;
69391eb72cb3 document trace source signature
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    96
private:
69391eb72cb3 document trace source signature
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    97
  ArgVector m_argVector;
69391eb72cb3 document trace source signature
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    98
  std::string m_help;
69391eb72cb3 document trace source signature
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    99
};
69391eb72cb3 document trace source signature
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   100
69391eb72cb3 document trace source signature
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   101
} // namespace ns3
69391eb72cb3 document trace source signature
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   102
69391eb72cb3 document trace source signature
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   103
#endif /* TRACE_DOC_H */