OnixS C++ FIX Engine 2.79.1.0
C:/Users/Pasha/_Dev/fixforge-cpp/fix/cppEngine/include/OnixS/FIX/EngineSettings.h
00001 /*
00002 * Copyright 2005-2011 Onix Solutions Limited [OnixS]. All rights reserved. 
00003 * 
00004 * This software owned by Onix Solutions Limited [OnixS] and is protected by copyright law 
00005 * and international copyright treaties. 
00006 * 
00007 * Access to and use of the software is governed by the terms of the applicable ONIXS Software
00008 * Services Agreement (the Agreement) and Customer end user license agreements granting 
00009 * a non-assignable, non-transferable and non-exclusive license to use the software 
00010 * for it's own data processing purposes under the terms defined in the Agreement.
00011 * 
00012 * Except as otherwise granted within the terms of the Agreement, copying or reproduction of any part 
00013 * of this source code or associated reference material to any other location for further reproduction
00014 * or redistribution, and any amendments to this copyright notice, are expressly prohibited. 
00015 *
00016 * Any reproduction or redistribution for sale or hiring of the Software not in accordance with 
00017 * the terms of the Agreement is a violation of copyright law. 
00018 */
00019 
00020 #if !defined(__ONIXS_ENGINE_SETTINGS_H__)
00021 #define __ONIXS_ENGINE_SETTINGS_H__
00022 
00023 #include <vector>
00024 #include <string>
00025 
00026 #include "OnixS/FIX/ABI.h"
00027 #include "OnixS/FIX/Session.h"
00028 
00029 namespace OnixS
00030 {
00031   namespace System
00032   {
00033     //implementation forward
00034     class ISettings;
00035   }
00036 }
00037 
00038 namespace OnixS
00039 {
00040     namespace FIX
00041     {
00043         typedef std::vector<int> ListenPorts;
00044         
00046         class ONIXS_FIXENGINE_API EngineSettings
00047         {
00048         public:
00050           EngineSettings ();
00051           
00053           EngineSettings (const EngineSettings&);
00054           
00056           ~EngineSettings ();
00057           
00059           EngineSettings& operator = (const EngineSettings&);
00060 
00062           void automaticallyCreatedSessionStorageType (Session::SessionStorageType value);
00063 
00065           Session::SessionStorageType automaticallyCreatedSessionStorageType () const;
00066           
00068           void createEngineLogFile (bool value);
00069 
00071           bool createEngineLogFile () const;
00072 
00074           void dialect (const std::string& value);
00075 
00077           const std::string& dialect () const;
00078           
00083           void listenPort (int value);
00084 
00089           int listenPort () const;
00090           
00092           void listenPorts (const ListenPorts& value);
00093 
00095           const ListenPorts& listenPorts () const;
00096 
00100           void licenseFile (const std::string& value);
00101 
00105           const std::string& licenseFile () const;
00106           
00108           void licenseStore (const std::string& value);
00109 
00111           const std::string& licenseStore () const;
00112 
00114           void logDirectory (const std::string& value);
00115 
00117           const std::string& logDirectory () const;
00118           
00120           void processDeliverToCompID (bool value);
00121 
00123           bool processDeliverToCompID () const;
00124 
00132           void reasonableTransmissionTime (int value);
00133 
00141           int reasonableTransmissionTime () const;
00142           
00144           void tcpNoDelayOption(bool value);
00145 
00147           bool tcpNoDelayOption() const;
00148 
00150           void reconnectAttempts (int value);
00151 
00153           int reconnectAttempts () const;
00154 
00156           void reconnectInterval (int value);
00157 
00159           int reconnectInterval () const;
00160 
00162           void resendingQueueSize (int value);
00163 
00165           int resendingQueueSize () const;
00166           
00168           void sendLogoutOnException (bool value);
00169 
00171           bool sendLogoutOnException () const;
00172 
00174           void sslCertificateFile (const std::string& value);
00175 
00177           const std::string& sslCertificateFile () const;
00178 
00180           void sslPrivateKeyFile (const std::string& value);
00181 
00183           const std::string& sslPrivateKeyFile () const;
00184 
00186           void sslPrivateKeyPassword (const std::string& value);
00187 
00189           const std::string& sslPrivateKeyPassword () const;
00190 
00195           void sslListenPort (int value);
00196 
00201           int sslListenPort () const;
00202           
00204           const OnixS::System::ISettings& getSettings () const;
00205 
00206         private:
00207           struct Implementation;
00208           Implementation* impl;
00209         };
00210     }
00211 }
00212 
00213 #endif // __ONIXS_ENGINE_SETTINGS_H__