OnixS C++ SGX Titan OUCH Trading Handler  1.2.0
API documentation
Utils.cpp
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 #include "Utils.h"
20 
21 
23 
24 namespace Implementation {
25 
26 void userExceptionHandler (OnixS::HandlerCore::Common::HandlerLogger& logger,
27  OnixS::Logging::LogFacility* logFacility,
28  const char* contextName)
29 {
30  try
31  {
32  throw;
33  }
34  catch (const std::exception& ex)
35  {
36  logger.log (ONIXS_LOG_ERROR[logFacility] << "Exception inside " << contextName << " callback: " << ex.what());
37  }
38  catch(...)
39  {
40  logger.log (ONIXS_LOG_ERROR[logFacility] << "Unknown exception inside " << contextName << " callback.");
41  }
42 }
43 
44 }
45 
46 Timestamp TimeManager::convert(const OnixS::Time::DateTime& time)
47 {
48  const OnixS::Time::TimeSpan& sinceEpoch = time.sinceEpoch();
49 
50  return Timestamp(sinceEpoch.totalSeconds(), sinceEpoch.nanoseconds());
51 }
52 
53 
54 OnixS::Time::DateTime TimeManager::convert(const Timestamp& time)
55 {
56  return OnixS::Time::DateTime(
57  OnixS::Time::TimeSpan(
58  time.sinceEpoch().totalSeconds(),
59  OnixS::Time::NanosecondSubseconds(time.sinceEpoch().nanoseconds())
60  ));
61 }
62 
63 }}}}
64 
65 
66 
void userExceptionHandler(OnixS::HandlerCore::Common::HandlerLogger &logger, OnixS::Logging::LogFacility *logFacility, const char *contextName)
Definition: Utils.cpp:26
long long totalSeconds() const
Whole number of seconds in time interval.
Definition: TimeSpan.h:150
#define ONIXS_SGXTITAN_OUCH_NAMESPACE_BEGIN
Definition: Bootstrap.h:27
Represents timestamp without time-zone information.
Definition: Timestamp.h:82
const TimeSpan & sinceEpoch() const
Time span since Jan 1, 0001, 00:00:00.
Definition: Timestamp.h:206