ores.marketdata.api
Table of Contents
2. Summary
ores.marketdata.api is a header-only library defining the shared contract for
the market-data domain. It provides domain types for market series, observations,
fixings, and import options, with JSON and table I/O via generated codecs, and the NATS
protocol schemas consumed by ores.marketdata.core and UI clients.
3. Inputs
- Domain entity type definitions across
domain/headers.
4. Outputs
- C++ headers for market-data types with JSON and table I/O.
- NATS protocol headers for market-data operations.
5. Entry points
include/ores.marketdata.api/domain/,include/ores.marketdata.api/messaging/.
6. Dependencies
fort.
7. Build dependencies
What the shared profile cannot know, declared here rather than hand-edited into the generated build file. Each block is spliced into its generated file after the profile's baseline.
The URI codec reads and writes an address with boost::urls, so the two
sources that parse one need it.
ores.refdata.api is public because convention_lookup hands out the
convention types, so a caller that reads the answer compiles against them.
ores.logging is private: the projection logs the reason it cannot name a
stored reference, and no header states a logger.
8. See also
- ores.marketdata.core — business logic, persistence, and NATS handlers.
9. Test dependencies
The suites link what the profile cannot know about.
find_package(Boost REQUIRED COMPONENTS url)
target_link_libraries(${lib_target_name}
PUBLIC
ores.platform.lib
ores.refdata.api.lib
PRIVATE
ores.utility.lib
ores.logging.lib
faker-cxx::faker-cxx
libfort::fort
Boost::url)
target_link_libraries(${lib_target_name} PRIVATE ores.codec.pch)
target_link_libraries(${tests_target_name}
PRIVATE
ores.marketdata.api.lib
ores.telemetry.core.lib
ores.utility.lib
ores.testing.lib
faker-cxx::faker-cxx
Catch2::Catch2
ores.openssl_cleanup
Threads::Threads)
