OnixS BME SENAF Handler C++ library  2.2.1
API documentation
HandlerStateChangeListener.h
Go to the documentation of this file.
1 /*
2  * Copyright Onix Solutions Limited [OnixS]. All rights reserved.
3  *
4  * This software owned by Onix Solutions Limited [OnixS] and is protected by
5  * copyright law and international copyright treaties.
6  *
7  * Access to and use of the software is governed by the terms of the applicable
8  * ONIXS Software Services Agreement (the Agreement) and Customer end user
9  * license agreements granting a non-assignable, non-transferable and
10  * non-exclusive license to use the software for it's own data processing
11  * purposes under the terms defined in the Agreement.
12  *
13  * Except as otherwise granted within the terms of the Agreement, copying or
14  * reproduction of any part of this source code or associated reference material
15  * to any other location for further reproduction or redistribution, and any
16  * amendments to this copyright notice, are expressly prohibited.
17  *
18  * Any reproduction or redistribution for sale or hiring of the Software not in
19  * accordance with the terms of the Agreement is a violation of copyright law.
20  */
21 
22 #pragma once
23 
24 #include <OnixS/Senaf/MarketData/Export.h>
26 
27 #include <string>
28 
29 namespace OnixS { namespace Senaf { namespace MarketData {
30 
31 /// \brief Defines the interface through which the Handler
32 /// notifies subscribers about Handler state change events.
33 class ONIXS_BME_SENAF_EXPORT HandlerStateChange
34 {
35 public:
36  /// Initialize instance.
37  HandlerStateChange(HandlerState newState, HandlerState oldState);
38 
39  /// New State.
40  HandlerState newState() const;
41 
42  /// Old state.
43  HandlerState oldState() const;
44 
45  /// String representation.
46  std::string toString() const;
47 
48  /// Appends string representation.
49  void toString(std::string&) const;
50 
51 private:
52  HandlerState newState_;
53  HandlerState oldState_;
54 
56 
57  HandlerStateChange& operator=(const HandlerStateChange&);
58 };
59 
61 {
62  return newState_;
63 }
64 
66 {
67  return oldState_;
68 }
69 
70 inline std::string HandlerStateChange::toString() const
71 {
72  std::string str;
73 
74  toString(str);
75 
76  return str;
77 }
78 
79 /// Handler state change listener.
80 class ONIXS_BME_SENAF_EXPORT HandlerStateChangeListener
81 {
82 public:
83  /// Is called when the handler state is changed.
84  ///
85  /// \param change State change attributes.
86  virtual void onHandlerStateChange(const HandlerStateChange& change) = 0;
87 
88 protected:
90 };
91 
92 }}} // namespace OnixS::Senaf::MarketData
Enum
Available Handler&#39;s states.
Definition: HandlerState.h:32
Defines the interface through which the Handler notifies subscribers about Handler state change event...
std::string toString() const
String representation.