~ubuntu-branches/ubuntu/karmic/gnash/karmic

« back to all changes in this revision

Viewing changes to libnet/statistics.h

  • Committer: Bazaar Package Importer
  • Author(s): Alexander Sack
  • Date: 2008-10-13 14:29:49 UTC
  • mfrom: (1.1.9 upstream)
  • Revision ID: james.westby@ubuntu.com-20081013142949-f6qdvnu4mn05ltdc
Tags: 0.8.4~~bzr9980-0ubuntu1
* new upstream release 0.8.4 (LP: #240325)
* ship new lib usr/lib/gnash/libmozsdk.so.* in mozilla-plugin-gnash
  - update debian/mozilla-plugin-gnash.install
* ship new lib usr/lib/gnash/libgnashnet.so.* in gnash-common
  - update debian/gnash-common.install
* add basic debian/build_head script to build latest CVS head packages.
  - add debian/build_head
* new sound architecture requires build depend on libsdl1.2-dev
  - update debian/control
* head build script now has been completely migrated to bzr (upstream +
  ubuntu)
  - update debian/build_head
* disable kde gui until klash/qt4 has been fixed; keep kde packages as empty
  packages for now.
  - update debian/rules
  - debian/klash.install
  - debian/klash.links
  - debian/klash.manpages
  - debian/konqueror-plugin-gnash.install
* drop libkonq5-dev build dependency accordingly
  - update debian/control
* don't install headers manually anymore. gnash doesnt provide a -dev
  package after all
  - update debian/rules
* update libs installed in gnash-common; libgnashserver-*.so is not available
  anymore (removed); in turn we add the new libgnashcore-*.so
  - update debian/gnash-common.install
* use -Os for optimization and properly pass CXXFLAGS=$(CFLAGS) to configure
  - update debian/rules
* touch firefox .autoreg in postinst of mozilla plugin
  - update debian/mozilla-plugin-gnash.postinst
* link gnash in ubufox plugins directory for the plugin alternative switcher
  - add debian/mozilla-plugin-gnash.links
* suggest ubufox accordingly
  - update debian/control
* add new required build-depends on libgif-dev
  - update debian/control
* add Xb-Npp-Description and Xb-Npp-File as new plugin database meta data
  - update debian/control

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
// 
 
2
//   Copyright (C) 2006, 2007, 2008 Free Software Foundation, Inc.
 
3
// 
 
4
// This program is free software; you can redistribute it and/or modify
 
5
// it under the terms of the GNU General Public License as published by
 
6
// the Free Software Foundation; either version 3 of the License, or
 
7
// (at your option) any later version.
 
8
// 
 
9
// This program is distributed in the hope that it will be useful,
 
10
// but WITHOUT ANY WARRANTY; without even the implied warranty of
 
11
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 
12
// GNU General Public License for more details.
 
13
// 
 
14
// You should have received a copy of the GNU General Public License
 
15
// along with this program; if not, write to the Free Software
 
16
// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 
17
//
 
18
 
 
19
#ifndef __STATISTICS_H__
 
20
#define __STATISTICS_H__
 
21
 
 
22
#include <sys/time.h>
 
23
#include <network.h>
 
24
#include <list>
 
25
 
 
26
#include "netstats.h"
 
27
 
 
28
namespace gnash 
 
29
{
 
30
 
 
31
class Statistics : public NetStats {
 
32
public:
 
33
    Statistics();
 
34
    ~Statistics();
 
35
    typedef enum {
 
36
        NO_BROWSER,
 
37
        MOZILLA,
 
38
        FIREFOX,
 
39
        OPERA,
 
40
        KONQUEROR,
 
41
        GALEON,
 
42
        EPIPHANY,
 
43
        SAFARI,
 
44
        IE
 
45
    } browser_e;
 
46
    typedef enum {
 
47
        OSTYPE_NONE,
 
48
        OSTYPE_LINUX,
 
49
        OSTYPE_BSD,
 
50
        OSTYPE_DARWIN,
 
51
        OSTYPE_WIN32,
 
52
        OSTYPE_SOLARIS
 
53
    } ostype_e;
 
54
 
 
55
    // Add a sample
 
56
    int addStats();
 
57
    
 
58
    // these make calculations on the collected network data.
 
59
    float getFPS();
 
60
    int getBitRate();
 
61
    
 
62
    // Accessors
 
63
    void setIPaddr(in_addr_t x) { _ipaddr = x; };
 
64
    void setBrowser(browser_e x) { _browser = x; } ;
 
65
    void setOS(ostype_e x) { _os = x; } ;
 
66
    in_addr_t getIPaddr() { return _ipaddr; };
 
67
    browser_e getBrowser() { return _browser; };
 
68
    ostype_e getOS() { return _os; };
 
69
    
 
70
//    void setFilespec(std::string &x) { _filespec = x; } ;
 
71
//    std::string &getFilespec() { return _filespec; };
 
72
    // Dump the collected network statistics in a human readable form.
 
73
    void dump();
 
74
    void clear();
 
75
private:
 
76
    in_addr_t           _ipaddr;
 
77
    browser_e           _browser;
 
78
    ostype_e            _os;
 
79
    std::list<NetStats *> _netstats;
 
80
    boost::uint32_t     _msg_count;
 
81
    std::vector<std::string> _filespec;
 
82
};
 
83
 
 
84
} // end of gnash namespace
 
85
 
 
86
#endif // __STATISTICS_H__
 
87
 
 
88
// local Variables:
 
89
// mode: C++
 
90
// indent-tabs-mode: t
 
91
// End: