src/stats/model/omnet-data-output.h
author Mitch Watrous <watrous@u.washington.edu>
Wed, 18 May 2011 17:24:04 -0700
changeset 7241 0a7a16b599e8
parent 7189 a3a61f7d66ef
child 7256 b04ba6772f8c
permissions -rw-r--r--
Make some more modules show up on doxygen modules page
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
3570
44b0bc6817c6 Stats module and example merged in.
tjkopena@cs.drexel.edu
parents:
diff changeset
     1
/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
44b0bc6817c6 Stats module and example merged in.
tjkopena@cs.drexel.edu
parents:
diff changeset
     2
/*
44b0bc6817c6 Stats module and example merged in.
tjkopena@cs.drexel.edu
parents:
diff changeset
     3
 * Copyright (c) 2008 Drexel University
44b0bc6817c6 Stats module and example merged in.
tjkopena@cs.drexel.edu
parents:
diff changeset
     4
 *
44b0bc6817c6 Stats module and example merged in.
tjkopena@cs.drexel.edu
parents:
diff changeset
     5
 * This program is free software; you can redistribute it and/or modify
44b0bc6817c6 Stats module and example merged in.
tjkopena@cs.drexel.edu
parents:
diff changeset
     6
 * it under the terms of the GNU General Public License version 2 as
44b0bc6817c6 Stats module and example merged in.
tjkopena@cs.drexel.edu
parents:
diff changeset
     7
 * published by the Free Software Foundation;
44b0bc6817c6 Stats module and example merged in.
tjkopena@cs.drexel.edu
parents:
diff changeset
     8
 *
44b0bc6817c6 Stats module and example merged in.
tjkopena@cs.drexel.edu
parents:
diff changeset
     9
 * This program is distributed in the hope that it will be useful,
44b0bc6817c6 Stats module and example merged in.
tjkopena@cs.drexel.edu
parents:
diff changeset
    10
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
44b0bc6817c6 Stats module and example merged in.
tjkopena@cs.drexel.edu
parents:
diff changeset
    11
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
44b0bc6817c6 Stats module and example merged in.
tjkopena@cs.drexel.edu
parents:
diff changeset
    12
 * GNU General Public License for more details.
44b0bc6817c6 Stats module and example merged in.
tjkopena@cs.drexel.edu
parents:
diff changeset
    13
 *
44b0bc6817c6 Stats module and example merged in.
tjkopena@cs.drexel.edu
parents:
diff changeset
    14
 * You should have received a copy of the GNU General Public License
44b0bc6817c6 Stats module and example merged in.
tjkopena@cs.drexel.edu
parents:
diff changeset
    15
 * along with this program; if not, write to the Free Software
44b0bc6817c6 Stats module and example merged in.
tjkopena@cs.drexel.edu
parents:
diff changeset
    16
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
44b0bc6817c6 Stats module and example merged in.
tjkopena@cs.drexel.edu
parents:
diff changeset
    17
 *
44b0bc6817c6 Stats module and example merged in.
tjkopena@cs.drexel.edu
parents:
diff changeset
    18
 * Author: Joe Kopena (tjkopena@cs.drexel.edu)
44b0bc6817c6 Stats module and example merged in.
tjkopena@cs.drexel.edu
parents:
diff changeset
    19
 */
44b0bc6817c6 Stats module and example merged in.
tjkopena@cs.drexel.edu
parents:
diff changeset
    20
44b0bc6817c6 Stats module and example merged in.
tjkopena@cs.drexel.edu
parents:
diff changeset
    21
#ifndef __OMNET_DATA_OUTPUT_H__
44b0bc6817c6 Stats module and example merged in.
tjkopena@cs.drexel.edu
parents:
diff changeset
    22
#define __OMNET_DATA_OUTPUT_H__
44b0bc6817c6 Stats module and example merged in.
tjkopena@cs.drexel.edu
parents:
diff changeset
    23
44b0bc6817c6 Stats module and example merged in.
tjkopena@cs.drexel.edu
parents:
diff changeset
    24
#include "ns3/nstime.h"
44b0bc6817c6 Stats module and example merged in.
tjkopena@cs.drexel.edu
parents:
diff changeset
    25
44b0bc6817c6 Stats module and example merged in.
tjkopena@cs.drexel.edu
parents:
diff changeset
    26
#include "data-output-interface.h"
44b0bc6817c6 Stats module and example merged in.
tjkopena@cs.drexel.edu
parents:
diff changeset
    27
44b0bc6817c6 Stats module and example merged in.
tjkopena@cs.drexel.edu
parents:
diff changeset
    28
namespace ns3 {
44b0bc6817c6 Stats module and example merged in.
tjkopena@cs.drexel.edu
parents:
diff changeset
    29
44b0bc6817c6 Stats module and example merged in.
tjkopena@cs.drexel.edu
parents:
diff changeset
    30
7189
a3a61f7d66ef stats coding style changes
Josh Pelkey <jpelkey@gatech.edu>
parents: 6855
diff changeset
    31
//------------------------------------------------------------
a3a61f7d66ef stats coding style changes
Josh Pelkey <jpelkey@gatech.edu>
parents: 6855
diff changeset
    32
//--------------------------------------------
7241
0a7a16b599e8 Make some more modules show up on doxygen modules page
Mitch Watrous <watrous@u.washington.edu>
parents: 7189
diff changeset
    33
/**
0a7a16b599e8 Make some more modules show up on doxygen modules page
Mitch Watrous <watrous@u.washington.edu>
parents: 7189
diff changeset
    34
 * \ingroup stats
0a7a16b599e8 Make some more modules show up on doxygen modules page
Mitch Watrous <watrous@u.washington.edu>
parents: 7189
diff changeset
    35
 *
0a7a16b599e8 Make some more modules show up on doxygen modules page
Mitch Watrous <watrous@u.washington.edu>
parents: 7189
diff changeset
    36
 */
7189
a3a61f7d66ef stats coding style changes
Josh Pelkey <jpelkey@gatech.edu>
parents: 6855
diff changeset
    37
class OmnetDataOutput : public DataOutputInterface {
a3a61f7d66ef stats coding style changes
Josh Pelkey <jpelkey@gatech.edu>
parents: 6855
diff changeset
    38
public:
a3a61f7d66ef stats coding style changes
Josh Pelkey <jpelkey@gatech.edu>
parents: 6855
diff changeset
    39
  OmnetDataOutput();
a3a61f7d66ef stats coding style changes
Josh Pelkey <jpelkey@gatech.edu>
parents: 6855
diff changeset
    40
  virtual ~OmnetDataOutput();
3570
44b0bc6817c6 Stats module and example merged in.
tjkopena@cs.drexel.edu
parents:
diff changeset
    41
7189
a3a61f7d66ef stats coding style changes
Josh Pelkey <jpelkey@gatech.edu>
parents: 6855
diff changeset
    42
  virtual void Output(DataCollector &dc);
3570
44b0bc6817c6 Stats module and example merged in.
tjkopena@cs.drexel.edu
parents:
diff changeset
    43
7189
a3a61f7d66ef stats coding style changes
Josh Pelkey <jpelkey@gatech.edu>
parents: 6855
diff changeset
    44
protected:
a3a61f7d66ef stats coding style changes
Josh Pelkey <jpelkey@gatech.edu>
parents: 6855
diff changeset
    45
  virtual void DoDispose();
3570
44b0bc6817c6 Stats module and example merged in.
tjkopena@cs.drexel.edu
parents:
diff changeset
    46
7189
a3a61f7d66ef stats coding style changes
Josh Pelkey <jpelkey@gatech.edu>
parents: 6855
diff changeset
    47
private:
a3a61f7d66ef stats coding style changes
Josh Pelkey <jpelkey@gatech.edu>
parents: 6855
diff changeset
    48
  class OmnetOutputCallback : public DataOutputCallback {
a3a61f7d66ef stats coding style changes
Josh Pelkey <jpelkey@gatech.edu>
parents: 6855
diff changeset
    49
public:
a3a61f7d66ef stats coding style changes
Josh Pelkey <jpelkey@gatech.edu>
parents: 6855
diff changeset
    50
    OmnetOutputCallback(std::ostream *scalar);
3570
44b0bc6817c6 Stats module and example merged in.
tjkopena@cs.drexel.edu
parents:
diff changeset
    51
7189
a3a61f7d66ef stats coding style changes
Josh Pelkey <jpelkey@gatech.edu>
parents: 6855
diff changeset
    52
    void OutputStatistic(std::string context,
a3a61f7d66ef stats coding style changes
Josh Pelkey <jpelkey@gatech.edu>
parents: 6855
diff changeset
    53
                         std::string name,
a3a61f7d66ef stats coding style changes
Josh Pelkey <jpelkey@gatech.edu>
parents: 6855
diff changeset
    54
                         const StatisticalSummary *statSum);
5502
04acce3f7133 Bug #645: fixes for opening stats file with OMNeT++
Andras Varga <andras@omnetpp.org>
parents: 4581
diff changeset
    55
7189
a3a61f7d66ef stats coding style changes
Josh Pelkey <jpelkey@gatech.edu>
parents: 6855
diff changeset
    56
    void OutputSingleton(std::string context,
a3a61f7d66ef stats coding style changes
Josh Pelkey <jpelkey@gatech.edu>
parents: 6855
diff changeset
    57
                         std::string name,
a3a61f7d66ef stats coding style changes
Josh Pelkey <jpelkey@gatech.edu>
parents: 6855
diff changeset
    58
                         int val);
3570
44b0bc6817c6 Stats module and example merged in.
tjkopena@cs.drexel.edu
parents:
diff changeset
    59
7189
a3a61f7d66ef stats coding style changes
Josh Pelkey <jpelkey@gatech.edu>
parents: 6855
diff changeset
    60
    void OutputSingleton(std::string context,
a3a61f7d66ef stats coding style changes
Josh Pelkey <jpelkey@gatech.edu>
parents: 6855
diff changeset
    61
                         std::string name,
a3a61f7d66ef stats coding style changes
Josh Pelkey <jpelkey@gatech.edu>
parents: 6855
diff changeset
    62
                         uint32_t val);
3570
44b0bc6817c6 Stats module and example merged in.
tjkopena@cs.drexel.edu
parents:
diff changeset
    63
7189
a3a61f7d66ef stats coding style changes
Josh Pelkey <jpelkey@gatech.edu>
parents: 6855
diff changeset
    64
    void OutputSingleton(std::string context,
a3a61f7d66ef stats coding style changes
Josh Pelkey <jpelkey@gatech.edu>
parents: 6855
diff changeset
    65
                         std::string name,
a3a61f7d66ef stats coding style changes
Josh Pelkey <jpelkey@gatech.edu>
parents: 6855
diff changeset
    66
                         double val);
3570
44b0bc6817c6 Stats module and example merged in.
tjkopena@cs.drexel.edu
parents:
diff changeset
    67
7189
a3a61f7d66ef stats coding style changes
Josh Pelkey <jpelkey@gatech.edu>
parents: 6855
diff changeset
    68
    void OutputSingleton(std::string context,
a3a61f7d66ef stats coding style changes
Josh Pelkey <jpelkey@gatech.edu>
parents: 6855
diff changeset
    69
                         std::string name,
a3a61f7d66ef stats coding style changes
Josh Pelkey <jpelkey@gatech.edu>
parents: 6855
diff changeset
    70
                         std::string val);
3570
44b0bc6817c6 Stats module and example merged in.
tjkopena@cs.drexel.edu
parents:
diff changeset
    71
7189
a3a61f7d66ef stats coding style changes
Josh Pelkey <jpelkey@gatech.edu>
parents: 6855
diff changeset
    72
    void OutputSingleton(std::string context,
a3a61f7d66ef stats coding style changes
Josh Pelkey <jpelkey@gatech.edu>
parents: 6855
diff changeset
    73
                         std::string name,
a3a61f7d66ef stats coding style changes
Josh Pelkey <jpelkey@gatech.edu>
parents: 6855
diff changeset
    74
                         Time val);
3570
44b0bc6817c6 Stats module and example merged in.
tjkopena@cs.drexel.edu
parents:
diff changeset
    75
7189
a3a61f7d66ef stats coding style changes
Josh Pelkey <jpelkey@gatech.edu>
parents: 6855
diff changeset
    76
private:
a3a61f7d66ef stats coding style changes
Josh Pelkey <jpelkey@gatech.edu>
parents: 6855
diff changeset
    77
    std::ostream *m_scalar;
a3a61f7d66ef stats coding style changes
Josh Pelkey <jpelkey@gatech.edu>
parents: 6855
diff changeset
    78
    // end class OmnetOutputCallback
3570
44b0bc6817c6 Stats module and example merged in.
tjkopena@cs.drexel.edu
parents:
diff changeset
    79
  };
44b0bc6817c6 Stats module and example merged in.
tjkopena@cs.drexel.edu
parents:
diff changeset
    80
7189
a3a61f7d66ef stats coding style changes
Josh Pelkey <jpelkey@gatech.edu>
parents: 6855
diff changeset
    81
  // end class OmnetDataOutput
a3a61f7d66ef stats coding style changes
Josh Pelkey <jpelkey@gatech.edu>
parents: 6855
diff changeset
    82
};
a3a61f7d66ef stats coding style changes
Josh Pelkey <jpelkey@gatech.edu>
parents: 6855
diff changeset
    83
a3a61f7d66ef stats coding style changes
Josh Pelkey <jpelkey@gatech.edu>
parents: 6855
diff changeset
    84
// end namespace ns3
3570
44b0bc6817c6 Stats module and example merged in.
tjkopena@cs.drexel.edu
parents:
diff changeset
    85
};
44b0bc6817c6 Stats module and example merged in.
tjkopena@cs.drexel.edu
parents:
diff changeset
    86
44b0bc6817c6 Stats module and example merged in.
tjkopena@cs.drexel.edu
parents:
diff changeset
    87
44b0bc6817c6 Stats module and example merged in.
tjkopena@cs.drexel.edu
parents:
diff changeset
    88
#endif // __OMNET_DATA_OUTPUT_H__