ores.refdata.api
Table of Contents
2. Summary
ores.refdata.api is a header-only library defining the shared contract for
the reference-data domain. It provides over 150 domain types for currencies,
countries, counterparties, books, business units, business centres, and trading
structure entities, together with JSON, table, and CSV I/O generated via generated codecs,
and the NATS message protocol schemas for the 0x3000–0x3FFF range. All
consumers of reference data (ores.trading.api, UI clients, peer services)
depend on this library.
3. Inputs
- Domain entity type definitions across
domain/headers. - NATS protocol message definitions.
4. Outputs
- C++ headers for all reference-data domain types with JSON, table, and CSV I/O variants.
- NATS protocol headers covering the 0x3000–0x3FFF message range.
5. Entry points
include/ores.refdata.api/domain/— all domain entity headers (~148 types).include/ores.refdata.api/messaging/— NATS protocol message headers.
6. Dependencies
fort— formatted table rendering.
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.
8. See also
- ores.refdata — component group overview.
- ores.refdata.core — business logic, persistence, and NATS handlers.
- ores.refdata Messaging Reference — full NATS subject and message catalogue.
9. Test dependencies
The suites link what the profile cannot know about.
target_link_libraries(${lib_target_name}
PUBLIC
ores.diff.lib
ores.eventing.api.lib
ores.iam.api.lib
ores.inbox.api.lib
ores.platform.lib
ores.workflow.api.lib
ores.dq.api.lib
PRIVATE
ores.utility.lib
faker-cxx::faker-cxx
libfort::fort)
target_link_libraries(${lib_target_name} PRIVATE ores.codec.pch)
target_link_libraries(${tests_target_name}
PRIVATE
ores.refdata.api.lib
ores.telemetry.core.lib
ores.utility.lib
ores.testing.lib
faker-cxx::faker-cxx
Catch2::Catch2
ores.openssl_cleanup
Threads::Threads)
