-
Notifications
You must be signed in to change notification settings - Fork 207
/
Copy pathswig_interface.i.in
66 lines (64 loc) · 2.31 KB
/
swig_interface.i.in
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
%module(directors="1") ccapi
%{
#ifndef SWIG
#define SWIG
#endif
#include "ccapi_cpp/ccapi_macro.h"
#include "ccapi_cpp/ccapi_util.h"
#include "ccapi_cpp/ccapi_element.h"
#include "ccapi_cpp/ccapi_message.h"
#include "ccapi_cpp/ccapi_event.h"
#include "ccapi_cpp/ccapi_event_handler.h"
#include "ccapi_cpp/ccapi_event_dispatcher.h"
#include "ccapi_cpp/ccapi_subscription.h"
#include "ccapi_cpp/ccapi_request.h"
#include "ccapi_cpp/ccapi_session_options.h"
#include "ccapi_cpp/ccapi_session_configs.h"
#include "ccapi_cpp/ccapi_queue.h"
#include "ccapi_cpp/ccapi_session.h"
#include "ccapi_cpp/ccapi_logger.h"
%}
%feature("director") ccapi::EventHandler;
%feature("director") ccapi::Logger;
%include "exception.i"
%include "std_pair.i"
%include "std_string.i"
%include "std_map.i"
%include "std_vector.i"
%exception {
try {
$action
} catch (std::exception &e) {
std::string s("error: "), s2(e.what());
s = s + s2;
SWIG_exception(SWIG_RuntimeError, s.c_str());
}
}
%template(MapStringString) std::map<std::string, std::string>;
%template(MapIntString) std::map<int, std::string>;
%template(PairIntString) std::pair<int, std::string>;
%template(PairLongLongLongLong) std::pair<long long, long long>;
%template(VectorPairIntString) std::vector<std::pair<int, std::string> >;
%template(ElementList) std::vector<ccapi::Element>;
%template(VectorString) std::vector<std::string>;
%template(MessageList) std::vector<ccapi::Message>;
%template(MapStringMapStringString) std::map<std::string, std::map<std::string, std::string> >;
%template(EventList) std::vector<ccapi::Event>;
%template(SubscriptionList) std::vector<ccapi::Subscription>;
%template(RequestList) std::vector<ccapi::Request>;
@SWIG_INTERFACE_CCAPI_LANGUAGE_SPECIFIC@
%include "ccapi_cpp/ccapi_macro.h"
%include "ccapi_cpp/ccapi_util.h"
%include "ccapi_cpp/ccapi_element.h"
%include "ccapi_cpp/ccapi_message.h"
%include "ccapi_cpp/ccapi_event.h"
%include "ccapi_cpp/ccapi_event_handler.h"
%include "ccapi_cpp/ccapi_event_dispatcher.h"
%include "ccapi_cpp/ccapi_subscription.h"
%include "ccapi_cpp/ccapi_request.h"
%include "ccapi_cpp/ccapi_session_options.h"
%include "ccapi_cpp/ccapi_session_configs.h"
%include "ccapi_cpp/ccapi_queue.h"
%include "ccapi_cpp/ccapi_session.h"
%include "ccapi_cpp/ccapi_logger.h"
%template(EventQueue) ccapi::Queue<ccapi::Event>;