summaryrefslogtreecommitdiff
path: root/cesar/maximus/python/boost/src/maximus.cpp
blob: 0f2a971a1592a448bc9044be130993dcc39b21a8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
/* Maximus project {{{
 *
 * Copyright (C) 2012 MStar Semiconductor
 *
 * <<<Licence>>>
 *
 * }}} */
/**
 * \file    maximus/python/boost/src/maximus.cpp
 * \ingroup maximus_python_boost
 *
 */
#include "maximus/interface/inc/Maximus.h"
#include "maximus/interface/station/inc/Station.h"
#include "maximus/interface/msg/inc/MsgFunctionCall.h"
#include "maximus/python/boost/inc/maximus.h"
#include "maximus/python/boost/inc/interface.h"
#include <boost/python.hpp>
#include <string>

BOOST_PYTHON_MEMBER_FUNCTION_OVERLOADS (
    disturb_channel_overloads,
    Maximus::disturb_channel, 0, 1)

void
export_maximus ()
{
    void (Maximus::*set_snrx1)(const float) = &Maximus::set_snr;
    void (Maximus::*set_snrx2)(const std::string &) = &Maximus::set_snr;
    void (Maximus::*set_snr_from_srcx1)(
        const float, const Station &, const bool)
        = &Maximus::set_snr_from_src;
    void (Maximus::*set_snr_from_srcx2)(
        const std::string &, const Station &, const bool)
        = &Maximus::set_snr_from_src;
    void (Maximus::*set_snr_to_dstx1)(
        const float, const Station &, const bool)
        = &Maximus::set_snr_to_dst;
    void (Maximus::*set_snr_to_dstx2)(
        const std::string &, const Station &, const bool)
        = &Maximus::set_snr_to_dst;
    void (Maximus::*set_snr_from_src_to_dstx1)(
        const float, const Station &, const Station &, const bool)
        = &Maximus::set_snr_from_src_to_dst;
    void (Maximus::*set_snr_from_src_to_dstx2)(
        const std::string &, const Station &, const Station &, const bool)
        = &Maximus::set_snr_from_src_to_dst;


    boost::python::class_<Maximus, boost::noncopyable>
        ("Maximus")
        .def ("init", &Maximus::init)
        .def ("uninit", &Maximus::stop)
        .def ("process", &Maximus::process)
        .def ("create_sta", &Maximus::create_default_sta, MAXIMUS_DEPENDENCY)
        .def ("create_sta", &Maximus::create_sta_1, MAXIMUS_DEPENDENCY)
        .def ("create_sta", &Maximus::create_sta_2, MAXIMUS_DEPENDENCY)
        .def ("create_fcall", &Maximus::create_fc, MAXIMUS_DEPENDENCY)
        .def ("create_probe", &Maximus::create_probe, MAXIMUS_DEPENDENCY)
        .def ("get_nb_sta", &Maximus::get_nb_sta)
        .def ("send_mpdu", &Maximus::send_phy)
        .def ("set_mpdu_rx", &Maximus::set_phy_rx)
        .def ("send_msdu", &Maximus::send_ether)
        .def ("set_msdu_rx", &Maximus::set_ether_rx)
        .def ("set_msdu_rx_catch_all", &Maximus::set_ether_rx_catch_all)
        .def ("reset_msdu_rx_catch_all", &Maximus::reset_ether_rx_catch_all)
        .def ("wait", &Maximus::wait)
        .def ("wait", &Maximus::wait_evt)
        .def ("disturb_channel", &Maximus::disturb_channel,
              disturb_channel_overloads())
        .def ("get_date", &Maximus::get_date)
        .def ("set_freq", &Maximus::set_freq)
        .def ("get_freq", &Maximus::get_freq)
        .def ("set_snr", set_snrx1)
        .def ("set_snr", set_snrx2)
        .def ("set_snr_from_src", set_snr_from_srcx1)
        .def ("set_snr_from_src", set_snr_from_srcx2)
        .def ("set_snr_to_dst", set_snr_to_dstx1)
        .def ("set_snr_to_dst", set_snr_to_dstx2)
        .def ("set_snr_from_src_to_dst", set_snr_from_src_to_dstx1)
        .def ("set_snr_from_src_to_dst", set_snr_from_src_to_dstx2)
        .def ("activate_false_alarm", &Maximus::activate_false_alarm)
        .def ("deactivate_false_alarm", &Maximus::deactivate_false_alarm)
        .def ("is_station_idle", &Maximus::is_station_idle)
        .def ("hide_sta", &Maximus::hide_sta)
        ;
}