Main Page   Namespace List   Alphabetical List   Compound List   File List   Compound Members   File Members  

timeslot.h

Go to the documentation of this file.
00001 /***************************************************************************
00002                                  timeslot.h
00003                              -------------------
00004     begin                : Fri Feb 1 2002
00005     copyright            : (C) 2002 by Constantinos A. Kotsokalis
00006     email                : ckotso@grnet.gr
00007  ***************************************************************************/
00008 
00009 /***************************************************************************
00010  *                                                                         *
00011  *   This program is free software; you can redistribute it and/or modify  *
00012  *   it under the terms of the GNU General Public License as published by  *
00013  *   the Free Software Foundation; either version 2 of the License, or     *
00014  *   (at your option) any later version.                                   *
00015  *                                                                         *
00016  ***************************************************************************/
00017 
00018 #ifndef TIMESLOT_H
00019 #define TIMESLOT_H
00020 
00025 class TimeSlot;
00026 
00027 #include <cc++/misc.h>
00028 
00029 #ifdef  CCXX_NAMESPACES
00030     using namespace std;
00031     using namespace ost;
00032 #endif
00033 
00034 #include "common.h"
00035 #include "ifpair.h"
00036 #include "flow.h"
00037 #include "timestamp.h"
00038 
00039 #include <stdio.h>
00040 #include <errno.h>
00041 
00042 #include <iostream>
00043 #include <fstream>
00044 
00045 #include <string>
00046 #include <vector>
00047 #include <map>
00048 
00049 class TimeSlot {
00050 public: // Public attributes
00051     TimeSlot(TimeStamp&, uint32_t&, const char *);
00052     virtual ~TimeSlot();
00053     virtual void setupIfPairs(const char *);
00054     virtual void Add(Flow&);
00055     virtual void setPrevious(TimeSlot *ts) { previous = ts; }
00056     virtual void setPreviousAdd(TimeSlot *ts) { previousadd = ts; }
00057     TimeSlot *getPrevious() { return previous; }
00058     TimeStamp const getBegin() { return begin; }
00059     TimeStamp const getEnd() { return end; }
00060     map< uint16_t, map <uint16_t, IfPair *> > *getIntTree() { return &inttree; }
00061     uint32_t& getFlows() { return flows; }
00062     uint32_t& getPackets() { return packets; }
00063     uint32_t& getOctets() { return octets; }
00064 
00065 private: // Private attributes
00066     map< uint16_t, map <uint16_t, IfPair *> > inttree;
00067     TimeStamp begin, end;
00068     TimeSlot *previous, *previousadd;
00069     uint32_t flows, octets, packets;
00070 };
00071 
00072 #endif

Generated on Thu Jun 26 00:23:13 2003 for Panoptis by doxygen1.2.18