diff --git a/cpp/csp/adapters/kafka/KafkaAdapterManager.h b/cpp/csp/adapters/kafka/KafkaAdapterManager.h index bf4e2315..4b494037 100644 --- a/cpp/csp/adapters/kafka/KafkaAdapterManager.h +++ b/cpp/csp/adapters/kafka/KafkaAdapterManager.h @@ -47,7 +47,7 @@ struct KafkaStatusMessageTypeTraits using KafkaStatusMessageType = csp::Enum; //Top level AdapterManager object for all kafka adapters in the engine -class CSP_PUBLIC KafkaAdapterManager final : public csp::AdapterManager +class CSPIMPL_EXPORT KafkaAdapterManager final : public csp::AdapterManager { public: KafkaAdapterManager( csp::Engine * engine, const Dictionary & properties ); diff --git a/cpp/csp/adapters/parquet/DialectGenericListReaderInterface.h b/cpp/csp/adapters/parquet/DialectGenericListReaderInterface.h index 61b77cd8..a7c3611c 100644 --- a/cpp/csp/adapters/parquet/DialectGenericListReaderInterface.h +++ b/cpp/csp/adapters/parquet/DialectGenericListReaderInterface.h @@ -25,7 +25,7 @@ class DialectGenericListReaderInterface }; template< typename T > -class CSP_PUBLIC TypedDialectGenericListReaderInterface : public DialectGenericListReaderInterface +class CSPIMPL_EXPORT TypedDialectGenericListReaderInterface : public DialectGenericListReaderInterface { public: using Ptr = std::shared_ptr>; diff --git a/cpp/csp/adapters/parquet/ParquetInputAdapterManager.h b/cpp/csp/adapters/parquet/ParquetInputAdapterManager.h index 8f3effa1..6768ee3e 100644 --- a/cpp/csp/adapters/parquet/ParquetInputAdapterManager.h +++ b/cpp/csp/adapters/parquet/ParquetInputAdapterManager.h @@ -18,7 +18,7 @@ namespace csp::adapters::parquet //Top level AdapterManager object for all parquet adapters in the engine -class CSP_PUBLIC ParquetInputAdapterManager final : public csp::AdapterManager +class CSPIMPL_EXPORT ParquetInputAdapterManager final : public csp::AdapterManager { public: using GeneratorPtr = csp::Generator::Ptr; diff --git a/cpp/csp/adapters/parquet/ParquetOutputAdapterManager.h b/cpp/csp/adapters/parquet/ParquetOutputAdapterManager.h index b7fe029f..666d3856 100644 --- a/cpp/csp/adapters/parquet/ParquetOutputAdapterManager.h +++ b/cpp/csp/adapters/parquet/ParquetOutputAdapterManager.h @@ -21,7 +21,7 @@ class ParquetOutputFilenameAdapter; class ParquetDictBasketOutputWriter; //Top level AdapterManager object for all parquet adapters in the engine -class CSP_PUBLIC ParquetOutputAdapterManager final : public csp::AdapterManager +class CSPIMPL_EXPORT ParquetOutputAdapterManager final : public csp::AdapterManager { public: using FileVisitorCallback = std::function; diff --git a/cpp/csp/adapters/websocket/ClientAdapterManager.h b/cpp/csp/adapters/websocket/ClientAdapterManager.h index b2b15fa7..48a44666 100644 --- a/cpp/csp/adapters/websocket/ClientAdapterManager.h +++ b/cpp/csp/adapters/websocket/ClientAdapterManager.h @@ -40,7 +40,7 @@ struct WebsocketClientStatusTypeTraits using ClientStatusType = Enum; -class CSP_PUBLIC ClientAdapterManager final : public AdapterManager +class CSPIMPL_EXPORT ClientAdapterManager final : public AdapterManager { public: ClientAdapterManager( diff --git a/cpp/csp/core/BasicAllocator.h b/cpp/csp/core/BasicAllocator.h index 029518a7..2f7648f7 100644 --- a/cpp/csp/core/BasicAllocator.h +++ b/cpp/csp/core/BasicAllocator.h @@ -15,7 +15,7 @@ namespace csp { // Extremely basic non-thread safe fixed-size allocator -class CSP_PUBLIC BasicAllocator +class CSPIMPL_EXPORT BasicAllocator { public: //elemsize is size of a single alloc, blockSize is number of elements to diff --git a/cpp/csp/core/DynamicBitSet.h b/cpp/csp/core/DynamicBitSet.h index eb4a950f..95258556 100644 --- a/cpp/csp/core/DynamicBitSet.h +++ b/cpp/csp/core/DynamicBitSet.h @@ -9,7 +9,7 @@ namespace csp { template -class CSP_PUBLIC DynamicBitSet +class CSPIMPL_EXPORT DynamicBitSet { public: diff --git a/cpp/csp/core/Enum.h b/cpp/csp/core/Enum.h index 428dadee..1a648503 100644 --- a/cpp/csp/core/Enum.h +++ b/cpp/csp/core/Enum.h @@ -73,7 +73,7 @@ bool UnknownOnInvalidValue(long) { return false; } START_PACKED template -struct CSP_PUBLIC Enum : public EnumTraits +struct CSPIMPL_EXPORT Enum : public EnumTraits { using EnumV = typename EnumTraits::_enum; using Mapping = std::vector; diff --git a/cpp/csp/core/EnumBitSet.h b/cpp/csp/core/EnumBitSet.h index 49c0fdac..164116f0 100644 --- a/cpp/csp/core/EnumBitSet.h +++ b/cpp/csp/core/EnumBitSet.h @@ -14,7 +14,7 @@ namespace csp //Utility class to hold enums as a bitmask ( where enum values are incremental from 0 ) //enum must have a NUM_TYPES entry for number of entries template< typename EnumT > -class CSP_PUBLIC EnumBitSet +class CSPIMPL_EXPORT EnumBitSet { using value_type = uint64_t; diff --git a/cpp/csp/core/Exception.h b/cpp/csp/core/Exception.h index 5227acf3..5188104f 100644 --- a/cpp/csp/core/Exception.h +++ b/cpp/csp/core/Exception.h @@ -10,7 +10,7 @@ namespace csp { -class CSP_PUBLIC Exception : public std::exception +class CSPIMPL_EXPORT Exception : public std::exception { public: Exception( const char * exType, const std::string & description, const char * file, const char * func, int line ) : @@ -59,7 +59,7 @@ class CSP_PUBLIC Exception : public std::exception }; #define __FILENAME__ (strrchr(__FILE__, '/') ? strrchr(__FILE__, '/') + 1 : __FILE__) -#define CSP_DECLARE_EXCEPTION( DerivedException, BaseException ) class CSP_PUBLIC DerivedException : public BaseException { public: DerivedException( const char * exType, const std::string &r, const char * file, const char * func, int line ) : BaseException( exType, r, file, func, line ) {} }; +#define CSP_DECLARE_EXCEPTION( DerivedException, BaseException ) class CSPIMPL_EXPORT DerivedException : public BaseException { public: DerivedException( const char * exType, const std::string &r, const char * file, const char * func, int line ) : BaseException( exType, r, file, func, line ) {} }; CSP_DECLARE_EXCEPTION( AssertionError, Exception ) CSP_DECLARE_EXCEPTION( RuntimeException, Exception ) diff --git a/cpp/csp/core/Generator.h b/cpp/csp/core/Generator.h index fabd1e8e..257d53b1 100644 --- a/cpp/csp/core/Generator.h +++ b/cpp/csp/core/Generator.h @@ -7,7 +7,7 @@ namespace csp { template< typename V, typename ...Args > -class CSP_PUBLIC Generator +class CSPIMPL_EXPORT Generator { public: using Ptr = std::shared_ptr>; diff --git a/cpp/csp/core/Platform.h b/cpp/csp/core/Platform.h index eb6e0c05..5b9f401b 100644 --- a/cpp/csp/core/Platform.h +++ b/cpp/csp/core/Platform.h @@ -15,7 +15,6 @@ #undef GetMessage #define CSP_LOCAL -#define CSP_PUBLIC __declspec(dllexport) #ifdef CSPTYPESIMPL_EXPORTS #define CSPTYPESIMPL_EXPORT __declspec(dllexport) @@ -94,7 +93,6 @@ inline uint8_t ffs(uint64_t n) #define CSPTYPESIMPL_EXPORT __attribute__ ((visibility ("default"))) #define CSP_LOCAL __attribute__ ((visibility ("hidden"))) -#define CSP_PUBLIC __attribute__ ((visibility ("default"))) #define START_PACKED #define END_PACKED __attribute__((packed)) diff --git a/cpp/csp/core/QueueWaiter.h b/cpp/csp/core/QueueWaiter.h index d8d40bb8..01e4bbc4 100644 --- a/cpp/csp/core/QueueWaiter.h +++ b/cpp/csp/core/QueueWaiter.h @@ -14,7 +14,7 @@ namespace csp class TimeDelta; -class CSP_PUBLIC QueueWaiter +class CSPIMPL_EXPORT QueueWaiter { public: QueueWaiter() : m_eventsPending( false ) diff --git a/cpp/csp/core/TaggedPointerUnion.h b/cpp/csp/core/TaggedPointerUnion.h index 358bc174..635001c3 100644 --- a/cpp/csp/core/TaggedPointerUnion.h +++ b/cpp/csp/core/TaggedPointerUnion.h @@ -26,7 +26,7 @@ struct IndexOf > template -class CSP_PUBLIC TaggedPointerUnion +class CSPIMPL_EXPORT TaggedPointerUnion { public: static inline constexpr size_t NUM_TAGS = sizeof...(Ts); diff --git a/cpp/csp/core/Time.h b/cpp/csp/core/Time.h index 0ac03fd0..9aef56b2 100644 --- a/cpp/csp/core/Time.h +++ b/cpp/csp/core/Time.h @@ -21,7 +21,7 @@ const int64_t NANOS_PER_SECOND = 1000000000; const int64_t SECONDS_PER_DAY = 86400; const int64_t NANOS_PER_DAY = NANOS_PER_SECOND * SECONDS_PER_DAY; -class CSP_PUBLIC TimeDelta +class CSPIMPL_EXPORT TimeDelta { public: constexpr TimeDelta() : TimeDelta( TimeDelta::NONE() ) {} @@ -165,7 +165,7 @@ inline std::ostream & operator <<( std::ostream &os, const TimeDelta & d ) return os; } -class CSP_PUBLIC Date +class CSPIMPL_EXPORT Date { public: Date() : Date( NONE() ) {} @@ -316,7 +316,7 @@ inline std::ostream & operator <<( std::ostream &os, const Date & d ) return os; } -class CSP_PUBLIC Time +class CSPIMPL_EXPORT Time { public: Time() : Time( -1 ) {} //NONE @@ -446,7 +446,7 @@ inline std::ostream & operator <<( std::ostream &os, const Time & t ) // Time is internally stored as an int64_t nanoseconds since 1970. // All DateTime objects are stored as UTC and should be treated as such -class CSP_PUBLIC DateTime +class CSPIMPL_EXPORT DateTime { public: DateTime() : DateTime( DateTime::NONE() ) {} @@ -597,7 +597,7 @@ inline std::ostream & operator <<( std::ostream &os, const DateTime & dt ) //Helper class to extract day/month/year/etc info from raw timestamp //ie DateTimeEx dte( existingDt ) //dte.day, etc etc -class CSP_PUBLIC DateTimeEx : public DateTime +class CSPIMPL_EXPORT DateTimeEx : public DateTime { public: DateTimeEx( const DateTime & dt ); diff --git a/cpp/csp/engine/AdapterManager.h b/cpp/csp/engine/AdapterManager.h index 52e24396..a1c32331 100644 --- a/cpp/csp/engine/AdapterManager.h +++ b/cpp/csp/engine/AdapterManager.h @@ -17,7 +17,7 @@ class AdapterManager; class Engine; -class CSP_PUBLIC ManagedSimInputAdapter : public InputAdapter +class CSPIMPL_EXPORT ManagedSimInputAdapter : public InputAdapter { public: ManagedSimInputAdapter( csp::Engine *engine, const CspTypePtr &type, AdapterManager *manager, PushMode pushMode ); @@ -94,7 +94,7 @@ bool ManagedSimInputAdapter::pushNullTick() return true; } -class CSP_PUBLIC AdapterManager : public EngineOwned +class CSPIMPL_EXPORT AdapterManager : public EngineOwned { public: AdapterManager( csp::Engine * ); diff --git a/cpp/csp/engine/AlarmInputAdapter.h b/cpp/csp/engine/AlarmInputAdapter.h index f0428bac..d34d1641 100644 --- a/cpp/csp/engine/AlarmInputAdapter.h +++ b/cpp/csp/engine/AlarmInputAdapter.h @@ -9,7 +9,7 @@ namespace csp { template -class CSP_PUBLIC AlarmInputAdapter final : public InputAdapter +class CSPIMPL_EXPORT AlarmInputAdapter final : public InputAdapter { public: AlarmInputAdapter( Engine * engine, CspTypePtr & type ) : InputAdapter( engine, type, PushMode::NON_COLLAPSING ) diff --git a/cpp/csp/engine/BasketInfo.h b/cpp/csp/engine/BasketInfo.h index cd4da8a0..10c14e7c 100644 --- a/cpp/csp/engine/BasketInfo.h +++ b/cpp/csp/engine/BasketInfo.h @@ -13,7 +13,7 @@ namespace csp class Node; -class CSP_PUBLIC InputBasketInfo +class CSPIMPL_EXPORT InputBasketInfo { using TickedInputs = std::vector; @@ -189,7 +189,7 @@ class CSP_PUBLIC InputBasketInfo bool m_isDynamic; }; -class CSP_PUBLIC DynamicInputBasketInfo : public InputBasketInfo +class CSPIMPL_EXPORT DynamicInputBasketInfo : public InputBasketInfo { public: using ChangeCallback = std::function; @@ -228,7 +228,7 @@ class CSP_PUBLIC DynamicInputBasketInfo : public InputBasketInfo TimeDelta m_timeWindowPolicy; }; -class CSP_PUBLIC OutputBasketInfo +class CSPIMPL_EXPORT OutputBasketInfo { public: OutputBasketInfo( CspTypePtr & type, Node * node, size_t size, bool isDynamic = false ); @@ -255,7 +255,7 @@ class CSP_PUBLIC OutputBasketInfo bool m_isDynamic; }; -class CSP_PUBLIC DynamicOutputBasketInfo : public OutputBasketInfo +class CSPIMPL_EXPORT DynamicOutputBasketInfo : public OutputBasketInfo { public: DynamicOutputBasketInfo( CspTypePtr & type, Node * node ); diff --git a/cpp/csp/engine/Consumer.h b/cpp/csp/engine/Consumer.h index 22bcc077..d5b3f571 100644 --- a/cpp/csp/engine/Consumer.h +++ b/cpp/csp/engine/Consumer.h @@ -14,7 +14,7 @@ namespace csp class InputAdapter; //Base of either regular Nodes or output adapters -class CSP_PUBLIC Consumer +class CSPIMPL_EXPORT Consumer { public: Consumer( Engine * ); diff --git a/cpp/csp/engine/CppNode.h b/cpp/csp/engine/CppNode.h index 22a7a0a0..6cc2c959 100644 --- a/cpp/csp/engine/CppNode.h +++ b/cpp/csp/engine/CppNode.h @@ -13,7 +13,7 @@ namespace csp //CppNode is used specifically for C++ defined Nodes, and should only be used //for definig c++ nodes using the macros defined at the end -class CSP_PUBLIC CppNode : public csp::Node +class CSPIMPL_EXPORT CppNode : public csp::Node { public: using Shape = std::variant>; diff --git a/cpp/csp/engine/CspEnum.h b/cpp/csp/engine/CspEnum.h index 05e236c7..dd5000de 100644 --- a/cpp/csp/engine/CspEnum.h +++ b/cpp/csp/engine/CspEnum.h @@ -15,7 +15,7 @@ namespace csp class CspEnumMeta; -class CSP_PUBLIC CspEnumInstance +class CSPIMPL_EXPORT CspEnumInstance { public: CspEnumInstance( std::string name, int64_t value, csp::CspEnumMeta * meta ) : m_name( name ), m_value( value ), m_meta( meta ) {} @@ -35,7 +35,7 @@ class CSP_PUBLIC CspEnumInstance //As an optimization we do NOT attach meta or value to every instance of an enum. Instead, the enum //holds only a pointer to a singleton CspEnumInstance, which holds the value, name, and meta pointer. -class CSP_PUBLIC CspEnum +class CSPIMPL_EXPORT CspEnum { public: CspEnum(); @@ -59,7 +59,7 @@ class CSP_PUBLIC CspEnum std::ostream &operator<<( std::ostream &os, const CspEnum & rhs ); -class CSP_PUBLIC CspEnumMeta +class CSPIMPL_EXPORT CspEnumMeta { public: using ValueDef = std::unordered_map; diff --git a/cpp/csp/engine/CspType.h b/cpp/csp/engine/CspType.h index c3c070bb..97e5fdea 100644 --- a/cpp/csp/engine/CspType.h +++ b/cpp/csp/engine/CspType.h @@ -15,7 +15,7 @@ namespace csp class CspStringType; -class CSP_PUBLIC CspType +class CSPIMPL_EXPORT CspType { public: @@ -116,7 +116,7 @@ class CSP_PUBLIC CspType Type m_type; }; -class CSP_PUBLIC CspStringType : public CspType +class CSPIMPL_EXPORT CspStringType : public CspType { public: CspStringType(bool isBytes) @@ -135,7 +135,7 @@ class CspEnum; class CspEnumMeta; -class CSP_PUBLIC CspEnumType : public CspType +class CSPIMPL_EXPORT CspEnumType : public CspType { public: CspEnumType( std::shared_ptr & meta ) : CspType( CspType::Type::ENUM ), @@ -155,7 +155,7 @@ using StructPtr = TypedStructPtr; class StructMeta; -class CSP_PUBLIC CspStructType : public CspType +class CSPIMPL_EXPORT CspStructType : public CspType { public: CspStructType( const std::shared_ptr & meta ) : CspType( CspType::Type::STRUCT ), @@ -168,7 +168,7 @@ class CSP_PUBLIC CspStructType : public CspType std::shared_ptr m_meta; }; -class CSP_PUBLIC CspArrayType : public CspType +class CSPIMPL_EXPORT CspArrayType : public CspType { public: CspArrayType( CspTypePtr elemType, bool isPyStructFastList = false ) : diff --git a/cpp/csp/engine/CycleStepTable.h b/cpp/csp/engine/CycleStepTable.h index 43537764..994dda24 100644 --- a/cpp/csp/engine/CycleStepTable.h +++ b/cpp/csp/engine/CycleStepTable.h @@ -12,7 +12,7 @@ namespace csp class Consumer; class Profiler; -class CSP_PUBLIC CycleStepTable +class CSPIMPL_EXPORT CycleStepTable { public: CycleStepTable(); diff --git a/cpp/csp/engine/Dictionary.h b/cpp/csp/engine/Dictionary.h index faf6193f..99ad88db 100644 --- a/cpp/csp/engine/Dictionary.h +++ b/cpp/csp/engine/Dictionary.h @@ -23,7 +23,7 @@ using DictionaryPtr = std::shared_ptr; class StructMeta; using StructMetaPtr = std::shared_ptr; -class CSP_PUBLIC Dictionary +class CSPIMPL_EXPORT Dictionary { public: struct Data; diff --git a/cpp/csp/engine/DynamicEngine.h b/cpp/csp/engine/DynamicEngine.h index aa2b4130..764f67a6 100644 --- a/cpp/csp/engine/DynamicEngine.h +++ b/cpp/csp/engine/DynamicEngine.h @@ -10,7 +10,7 @@ namespace csp { -class CSP_PUBLIC DynamicEngine final : public Engine +class CSPIMPL_EXPORT DynamicEngine final : public Engine { public: using ShutdownFn = std::function; diff --git a/cpp/csp/engine/DynamicNode.h b/cpp/csp/engine/DynamicNode.h index 6434cf26..be6abbbe 100644 --- a/cpp/csp/engine/DynamicNode.h +++ b/cpp/csp/engine/DynamicNode.h @@ -18,7 +18,7 @@ class DynamicEngine; //external inputs and triggering a cycle step. //All dynamic engine input adapters as well as all external timeseries wired into dynamic are registered as inputs //into the DynanicNode instance so that it can invoke cycle step at the appropriate times. -class CSP_PUBLIC DynamicNode final : public Node +class CSPIMPL_EXPORT DynamicNode final : public Node { public: using Outputs = std::vector; diff --git a/cpp/csp/engine/Engine.h b/cpp/csp/engine/Engine.h index 23afb256..a9ed9b38 100644 --- a/cpp/csp/engine/Engine.h +++ b/cpp/csp/engine/Engine.h @@ -24,7 +24,7 @@ class TimeSeriesProvider; class Engine; class RootEngine; -struct CSP_PUBLIC EngineOwned +struct CSPIMPL_EXPORT EngineOwned { //force objects derived from EngineOwned to go through engine createOwnedObject methods //little trick here to force all derivations to fail @@ -35,7 +35,7 @@ struct CSP_PUBLIC EngineOwned void operator delete( void* ptr ) { ::operator delete(ptr); } }; -class CSP_PUBLIC Engine +class CSPIMPL_EXPORT Engine { using AdapterManagers = std::vector>; using InputAdapters = std::vector>; diff --git a/cpp/csp/engine/Enums.h b/cpp/csp/engine/Enums.h index 0a45bb28..b61fcdba 100644 --- a/cpp/csp/engine/Enums.h +++ b/cpp/csp/engine/Enums.h @@ -8,7 +8,7 @@ namespace csp { // NOTE this must align with the python side Enum definition /// -struct CSP_PUBLIC PushModeTraits +struct CSPIMPL_EXPORT PushModeTraits { enum _enum : unsigned char { diff --git a/cpp/csp/engine/EventPropagator.h b/cpp/csp/engine/EventPropagator.h index 77e45ca4..7c81b277 100644 --- a/cpp/csp/engine/EventPropagator.h +++ b/cpp/csp/engine/EventPropagator.h @@ -10,7 +10,7 @@ namespace csp class Consumer; -class CSP_PUBLIC EventPropagator +class CSPIMPL_EXPORT EventPropagator { public: EventPropagator(); diff --git a/cpp/csp/engine/Feedback.h b/cpp/csp/engine/Feedback.h index c8a128a5..be5e9b5f 100644 --- a/cpp/csp/engine/Feedback.h +++ b/cpp/csp/engine/Feedback.h @@ -12,7 +12,7 @@ template class FeedbackInputAdapter; template -class CSP_PUBLIC FeedbackOutputAdapter final : public OutputAdapter +class CSPIMPL_EXPORT FeedbackOutputAdapter final : public OutputAdapter { public: FeedbackOutputAdapter( csp::Engine * engine, @@ -29,7 +29,7 @@ class CSP_PUBLIC FeedbackOutputAdapter final : public OutputAdapter }; template -class CSP_PUBLIC FeedbackInputAdapter final : public InputAdapter +class CSPIMPL_EXPORT FeedbackInputAdapter final : public InputAdapter { public: using InputAdapter::InputAdapter; diff --git a/cpp/csp/engine/GraphOutputAdapter.h b/cpp/csp/engine/GraphOutputAdapter.h index 14e86936..7d21211d 100644 --- a/cpp/csp/engine/GraphOutputAdapter.h +++ b/cpp/csp/engine/GraphOutputAdapter.h @@ -15,7 +15,7 @@ namespace csp //GraphOutputAdapters are also special in that they are registered in both a dynamic engine and the root engine as sahred_ptr. They make it into root //so that the root processes them at the end of the csp.run call ( dynamics could be shutdown by then ). We also register in root //to ensure we dont hit key clashses. -class CSP_PUBLIC GraphOutputAdapter : public OutputAdapter, public std::enable_shared_from_this +class CSPIMPL_EXPORT GraphOutputAdapter : public OutputAdapter, public std::enable_shared_from_this { public: GraphOutputAdapter( csp::Engine * engine, int32_t tickCount, TimeDelta tickHistory ); diff --git a/cpp/csp/engine/InputAdapter.h b/cpp/csp/engine/InputAdapter.h index 462000f2..357308ef 100644 --- a/cpp/csp/engine/InputAdapter.h +++ b/cpp/csp/engine/InputAdapter.h @@ -12,7 +12,7 @@ namespace csp class Consumer; -class CSP_PUBLIC InputAdapter : public TimeSeriesProvider, public EngineOwned +class CSPIMPL_EXPORT InputAdapter : public TimeSeriesProvider, public EngineOwned { public: InputAdapter( Engine * engine, const CspTypePtr & type, PushMode pushMode ); diff --git a/cpp/csp/engine/Node.h b/cpp/csp/engine/Node.h index 73bbaadb..01e5c11f 100644 --- a/cpp/csp/engine/Node.h +++ b/cpp/csp/engine/Node.h @@ -25,7 +25,7 @@ struct NodeDef INOUT_ID_TYPE numOutputs; }; -class CSP_PUBLIC Node : public Consumer, public EngineOwned +class CSPIMPL_EXPORT Node : public Consumer, public EngineOwned { public: Node( NodeDef def, Engine * ); diff --git a/cpp/csp/engine/OutputAdapter.h b/cpp/csp/engine/OutputAdapter.h index 53c993f1..d8debc83 100644 --- a/cpp/csp/engine/OutputAdapter.h +++ b/cpp/csp/engine/OutputAdapter.h @@ -10,7 +10,7 @@ namespace csp class TimeSeriesProvider; -class CSP_PUBLIC OutputAdapter : public Consumer, public EngineOwned +class CSPIMPL_EXPORT OutputAdapter : public Consumer, public EngineOwned { public: OutputAdapter( csp::Engine * engine ); diff --git a/cpp/csp/engine/PendingPushEvents.h b/cpp/csp/engine/PendingPushEvents.h index 95b43e43..4f7820e2 100644 --- a/cpp/csp/engine/PendingPushEvents.h +++ b/cpp/csp/engine/PendingPushEvents.h @@ -11,7 +11,7 @@ namespace csp struct PushGroup; class PushInputAdapters; -class CSP_PUBLIC PendingPushEvents +class CSPIMPL_EXPORT PendingPushEvents { public: PendingPushEvents(); diff --git a/cpp/csp/engine/Profiler.h b/cpp/csp/engine/Profiler.h index 71044aba..d05bb43e 100644 --- a/cpp/csp/engine/Profiler.h +++ b/cpp/csp/engine/Profiler.h @@ -13,7 +13,7 @@ namespace csp { -class CSP_PUBLIC Profiler +class CSPIMPL_EXPORT Profiler { // All times are returned as doubles representing time in seconds diff --git a/cpp/csp/engine/PullInputAdapter.h b/cpp/csp/engine/PullInputAdapter.h index 455e21aa..bde322c5 100644 --- a/cpp/csp/engine/PullInputAdapter.h +++ b/cpp/csp/engine/PullInputAdapter.h @@ -10,7 +10,7 @@ namespace csp { template -class CSP_PUBLIC PullInputAdapter : public InputAdapter +class CSPIMPL_EXPORT PullInputAdapter : public InputAdapter { public: PullInputAdapter( Engine * engine, CspTypePtr & type, PushMode pushMode ) : InputAdapter( engine, type, pushMode ) diff --git a/cpp/csp/engine/PushEvent.h b/cpp/csp/engine/PushEvent.h index 6e75ce7e..56d7b22a 100644 --- a/cpp/csp/engine/PushEvent.h +++ b/cpp/csp/engine/PushEvent.h @@ -9,7 +9,7 @@ namespace csp class PushInputAdapter; -struct CSP_PUBLIC PushEvent +struct CSPIMPL_EXPORT PushEvent { PushEvent( PushInputAdapter *adapter ) : m_adapter( adapter ), next( nullptr ) {} diff --git a/cpp/csp/engine/PushInputAdapter.h b/cpp/csp/engine/PushInputAdapter.h index d17233a1..4c049aab 100644 --- a/cpp/csp/engine/PushInputAdapter.h +++ b/cpp/csp/engine/PushInputAdapter.h @@ -76,7 +76,7 @@ class PushBatch : public SRMWLockFreeQueue::Batch PushGroup * m_group; //used for assertion check }; -class CSP_PUBLIC PushInputAdapter : public InputAdapter +class CSPIMPL_EXPORT PushInputAdapter : public InputAdapter { public: PushInputAdapter( Engine * engine, CspTypePtr & type, PushMode pushMode, diff --git a/cpp/csp/engine/PushPullInputAdapter.h b/cpp/csp/engine/PushPullInputAdapter.h index 2f08da99..5e1dd574 100644 --- a/cpp/csp/engine/PushPullInputAdapter.h +++ b/cpp/csp/engine/PushPullInputAdapter.h @@ -10,7 +10,7 @@ namespace csp //A variation of PushInputAdapter that lets you schedule historical data as well. Used for adapters //that can replay history and switch to realtime seamlessly ( ie kafka ) -class CSP_PUBLIC PushPullInputAdapter : public PushInputAdapter +class CSPIMPL_EXPORT PushPullInputAdapter : public PushInputAdapter { public: PushPullInputAdapter( Engine * engine, CspTypePtr & type, PushMode pushMode, diff --git a/cpp/csp/engine/RootEngine.h b/cpp/csp/engine/RootEngine.h index d8c10be7..ab8c3b6f 100644 --- a/cpp/csp/engine/RootEngine.h +++ b/cpp/csp/engine/RootEngine.h @@ -34,7 +34,7 @@ class EndCycleListener bool m_dirty = false; }; -class CSP_PUBLIC RootEngine : public Engine +class CSPIMPL_EXPORT RootEngine : public Engine { using PushEventQueue = SRMWLockFreeQueue; diff --git a/cpp/csp/engine/Scheduler.h b/cpp/csp/engine/Scheduler.h index 438c489a..8a18352e 100644 --- a/cpp/csp/engine/Scheduler.h +++ b/cpp/csp/engine/Scheduler.h @@ -15,7 +15,7 @@ namespace csp class InputAdapter; -class CSP_PUBLIC Scheduler +class CSPIMPL_EXPORT Scheduler { struct Event; diff --git a/cpp/csp/engine/StatusAdapter.h b/cpp/csp/engine/StatusAdapter.h index aebacc3f..bedb765e 100644 --- a/cpp/csp/engine/StatusAdapter.h +++ b/cpp/csp/engine/StatusAdapter.h @@ -30,7 +30,7 @@ struct StatusLevelTraits using StatusLevel = csp::Enum; -class CSP_PUBLIC StatusAdapter : public PushInputAdapter +class CSPIMPL_EXPORT StatusAdapter : public PushInputAdapter { public: StatusAdapter( Engine * engine, CspTypePtr & type, PushMode pushMode, PushGroup * group = nullptr ) : PushInputAdapter( engine, type, pushMode, group ) diff --git a/cpp/csp/engine/Struct.h b/cpp/csp/engine/Struct.h index 692ad842..cba21ab8 100644 --- a/cpp/csp/engine/Struct.h +++ b/cpp/csp/engine/Struct.h @@ -19,7 +19,7 @@ class TypedStructPtr; using StructPtr = TypedStructPtr; -class CSP_PUBLIC StructField +class CSPIMPL_EXPORT StructField { public: @@ -114,7 +114,7 @@ class CSP_PUBLIC StructField using StructFieldPtr = std::shared_ptr; template -class CSP_PUBLIC NativeStructField : public StructField +class CSPIMPL_EXPORT NativeStructField : public StructField { static_assert( CspType::Type::fromCType::type <= CspType::Type::MAX_NATIVE_TYPE ); static_assert( sizeof(T) == alignof(T) ); @@ -177,7 +177,7 @@ using TimeDeltaStructField = NativeStructField; using DateStructField = NativeStructField; using TimeStructField = NativeStructField