source: trunk/src/halTorrentIntEvents.hpp @ 706

Revision 706, 1.7 KB checked in by Eoin, 11 years ago (diff)
Line 
1
2//         Copyright Eóin O'Callaghan 2009 - 2009.
3// Distributed under the Boost Software License, Version 1.0.
4//    (See accompanying file LICENSE_1_0.txt or copy at
5//          http://www.boost.org/LICENSE_1_0.txt)
6
7#pragma once
8
9#include "halTorrentInternal.hpp"
10
11#include <boost/statechart/event.hpp>
12#include <boost/statechart/transition.hpp>
13#include <boost/statechart/custom_reaction.hpp>
14
15namespace hal
16{
17
18namespace sc = boost::statechart;
19
20struct ev_remove_from_session : sc::event<ev_remove_from_session>
21{
22public:
23    ev_remove_from_session(bool write_data) :
24                write_data_(write_data)
25    {}
26   
27    const bool& write_data() const { return write_data_; }
28
29private:
30    bool write_data_;
31};
32
33struct ev_add_to_session : sc::event<ev_add_to_session>
34{
35public:
36    ev_add_to_session(bool pause) :
37                pause_(pause)
38    {}
39   
40    const bool& pause() const { return pause_; }
41
42private:
43    bool pause_;
44};
45
46struct ev_error_alert : sc::event<ev_error_alert>
47{
48public:
49    ev_error_alert(wstring& e) :
50                err_(e)
51    {}
52   
53    const wstring& error() const { return err_; }
54
55private:
56    wstring err_;
57};
58
59struct ev_pause : sc::event< ev_pause > {};
60struct ev_paused_alert : sc::event<ev_paused_alert> {};
61
62struct ev_stop : sc::event< ev_stop > {};
63struct ev_resume : sc::event< ev_resume > {};
64struct ev_resumed_alert : sc::event<ev_resumed_alert> {};
65
66struct ev_force_recheck : sc::event< ev_force_recheck > {};
67
68struct ev_write_resume_data : sc::event< ev_write_resume_data > {};
69struct ev_resume_data_alert : sc::event< ev_resume_data_alert > {};
70struct ev_resume_data_failed_alert : sc::event< ev_resume_data_alert > {};
71
72} // namespace hal
Note: See TracBrowser for help on using the repository browser.