OnixS C++ eSpeed ITCH Market Data Handler
1.7.3
API documentation
Home
Contents
Namespaces
Classes
Files
File List
File Members
include
OnixS
eSpeed
MarketData
Itch
ErrorListener.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 copyright law
5
* and international copyright treaties.
6
*
7
* Access to and use of the software is governed by the terms of the applicable ONIXS Software
8
* Services Agreement (the Agreement) and Customer end user license agreements granting
9
* a non-assignable, non-transferable and non-exclusive license to use the software
10
* for it's own data processing purposes under the terms defined in the Agreement.
11
*
12
* Except as otherwise granted within the terms of the Agreement, copying or reproduction of any part
13
* of this source code or associated reference material to any other location for further reproduction
14
* or redistribution, and any amendments to this copyright notice, are expressly prohibited.
15
*
16
* Any reproduction or redistribution for sale or hiring of the Software not in accordance with
17
* the terms of the Agreement is a violation of copyright law.
18
*/
19
20
#pragma once
21
22
#include <string>
23
24
#include <
OnixS/eSpeed/MarketData/Itch/ABI.h
>
25
#include <
OnixS/eSpeed/MarketData/Itch/Bootstrap.h
>
26
27
28
ONIXS_ESPEED_ITCH_NAMESPACE_BEGIN
29
30
/// Known (selected) error codes.
31
struct
ONIXS_ESPEED_ITCH_API
ErrorCode
32
{
33
/// @copydoc ErrorCode
34
enum
Enum
35
{
36
General = 1,
///< Identifies errors of generic nature.
37
};
38
};
39
40
/// Returns string representation of ErrorCode value.
41
ONIXS_ESPEED_ITCH_API std::string
enumToString
(
ErrorCode::Enum
);
42
43
/// Defines an interface through which the Handler notifies subscribers
44
/// about errors occurred while processing messages.
45
class
ErrorListener
46
{
47
public
:
48
/// Implement this member to get notified about errors.
49
/// @param code identifies error occurred while processing messages.
50
/// @param description supplies notes on occurred error.
51
/// @note Usually, Handler is capable to recover from errors by itself.
52
/// That means, there's no need to restart manually.
53
/// Instead, Handler will perform all necessary recovering by itself.
54
virtual
void
onError (
ErrorCode::Enum
code,
const
std::string& description) = 0;
55
56
protected
:
57
/// Class provides an interface for handling errors in subscriptions.
58
/// It doesn't provide an interface for instance deletion. However,
59
/// since C++ doesn't have pure interface concept, destructor will be
60
/// generated anyway. We can only control proper use of it. For this
61
/// reason we hide from public use and make it available for descendants.
62
virtual
~ErrorListener
() {}
63
};
64
65
ONIXS_ESPEED_ITCH_NAMESPACE_END
ONIXS_ESPEED_ITCH_NAMESPACE_END
#define ONIXS_ESPEED_ITCH_NAMESPACE_END
Definition:
Bootstrap.h:31
ONIXS_ESPEED_ITCH_NAMESPACE_BEGIN
#define ONIXS_ESPEED_ITCH_NAMESPACE_BEGIN
Definition:
Bootstrap.h:27
ErrorListener
Definition:
ErrorListener.h:45
ErrorListener::~ErrorListener
virtual ~ErrorListener()
Definition:
ErrorListener.h:62
ABI.h
ErrorCode
Known (selected) error codes.
Definition:
ErrorListener.h:31
ErrorCode::Enum
Enum
Known (selected) error codes.
Definition:
ErrorListener.h:34
Bootstrap.h
enumToString
ONIXS_ESPEED_ITCH_API std::string enumToString(ErrorCode::Enum)
Returns string representation of ErrorCode value.