OnixS C++ FMX UST BIMP Market Data Handler
1.2.0
API documentation
Home
Contents
Namespaces
Classes
Files
File List
File Members
include
OnixS
FmxUST
MarketData
Bimp
WatchService.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 <
OnixS/FmxUST/MarketData/Bimp/ABI.h
>
23
#include <
OnixS/FmxUST/MarketData/Bimp/Integral.h
>
24
#include <
OnixS/FmxUST/MarketData/Bimp/Defines.h
>
25
#include <OnixS/FmxUST/MarketData/Bimp/CompilerDetection.h>
26
#include <
OnixS/FmxUST/MarketData/Bimp/Time.h
>
27
28
#include <string>
29
30
namespace
OnixS
31
{
32
namespace
FmxUST
33
{
34
namespace
MarketData
35
{
36
namespace
Bimp
37
{
38
/// Abstract watch service.
39
class
ONIXS_FMXUST_BIMP_API
WatchService
40
{
41
public
:
42
/// Returns current UTC time.
43
Timestamp
now();
44
45
/// Identifies watch service.
46
const
char
* id()
const
;
47
48
///
49
virtual
~
WatchService
();
50
51
protected
:
52
WatchService
(
void
* impl)
ONIXS_FMXUST_BIMP_NOTHROW
;
53
54
private
:
55
void
*
const
impl_;
56
friend
struct
FeHelper;
57
};
58
59
/// UTC watch.
60
class
ONIXS_FMXUST_BIMP_API
UtcWatch
:
public
WatchService
61
{
62
public
:
63
/// Returns watch service
64
static
UtcWatch
& service();
65
66
///
67
~
UtcWatch
()
ONIXS_FMXUST_BIMP_OVERRIDE
;
68
69
private
:
70
UtcWatch
();
71
};
72
73
/// The network interface watch.
74
///
75
/// This class is designed to use the network adapter's watch if the capability is supported.
76
/// When an instance of the class is linked to a feed engine supporting hardware timestamps retrieval,
77
/// the feed engine extracts hardware timestamps and assigns them to the incoming multicast packets.
78
///
79
/// An ordinary system (UTC) clock is used in all other cases.
80
class
ONIXS_FMXUST_BIMP_API
NicWatch
:
public
WatchService
81
{
82
public
:
83
/// Returns watch service
84
static
NicWatch
& service();
85
86
///
87
~
NicWatch
()
ONIXS_FMXUST_BIMP_OVERRIDE
;
88
89
private
:
90
NicWatch
();
91
};
92
}
93
}
94
}
95
}
Time.h
OnixS::FmxUST::MarketData::Bimp::Timestamp
Represents time point without time-zone information.
Definition:
Time.h:482
OnixS::FmxUST::MarketData::Bimp::WatchService
Abstract watch service.
Definition:
WatchService.h:39
Defines.h
ABI.h
OnixS
Definition:
Enumerations.h:27
Integral.h
OnixS::FmxUST::MarketData::Bimp::NicWatch
Definition:
WatchService.h:80
ONIXS_FMXUST_BIMP_OVERRIDE
#define ONIXS_FMXUST_BIMP_OVERRIDE
Definition:
Compiler.h:113
ONIXS_FMXUST_BIMP_NOTHROW
#define ONIXS_FMXUST_BIMP_NOTHROW
Definition:
Compiler.h:108
OnixS::FmxUST::MarketData::Bimp::UtcWatch
UTC watch.
Definition:
WatchService.h:60