OXY-SYNC-DIRECTORY 1.0
OXY-SYNC-DIRECTORY Library Documentation
Loading...
Searching...
No Matches
services.hpp File Reference

This file defines the interfaces for connecting to and interacting with the Thrift services. More...

Classes

struct  oxy::directory::IConnection
 Interface for a connection to a Thrift service, supporting both pipe and socket connections. More...
 Interface for interacting with the metadata service. More...
struct  oxy::directory::IPack
 Interface for interacting with the pack service. More...
struct  oxy::directory::ITimeline
 Interface for interacting with the timeline service. More...
struct  oxy::directory::ssl_context
 Represents the SSL context for secure connections, including CA, certificate, and key information. More...

Namespaces

namespace  oxy::directory
 The oxy::directory namespace contains interfaces and functions for synchronizing and updating the metadata directory.

Typedefs

using oxy::directory::IConnectionPtr = std::shared_ptr<IConnection>
using oxy::directory::IMetadataPtr = std::shared_ptr<IMetadata>
 Represents a shared pointer to an IMetadata interface.
using oxy::directory::IPackPtr = std::shared_ptr<IPack>
 Represents a shared pointer to an IPack interface.
using oxy::directory::ITimelinePtr = std::shared_ptr<ITimeline>
 Represents a shared pointer to an ITimeline interface.
using oxy::directory::ProtocolPtr = std::shared_ptr<apache::thrift::protocol::TBinaryProtocol>
 Represents a pointer to a Thrift binary protocol.

Functions

OXY_DIRECTORY_API IConnectionPtr oxy::directory::create_connection_instance ()
OXY_DIRECTORY_API IMetadataPtr oxy::directory::create_metadata_instance ()
 Creates an instance of the IMetadata interface.
OXY_DIRECTORY_API IPackPtr oxy::directory::create_pack_instance ()
 Creates an instance of the IPack interface.
OXY_DIRECTORY_API ITimelinePtr oxy::directory::create_timeline_instance ()
 Creates an instance of the ITimeline interface.

Detailed Description

This file defines the interfaces for connecting to and interacting with the Thrift services.

The IConnection, ITimeline, and IMetadata interfaces provide methods for opening connections to Thrift services, counting records, and fetching data based on customer identifiers and timestamps. Implementations of these interfaces should handle the specifics of communicating with the Thrift services and retrieving the requested data.

Note
The create_connection_instance, create_timeline_instance, and create_metadata_instance functions are used to create instances of the respective interfaces.
The OXY_DIRECTORY_API macro is used to handle symbol visibility for shared library builds, ensuring that the interfaces are correctly exported or imported depending on the build context.
The interfaces are designed to be flexible and extensible, allowing for different implementations to be provided based on specific requirements or use cases. This design promotes modularity and separation of concerns, enabling developers to focus on the specific logic for connecting to and interacting with the Thrift services without being concerned with the underlying implementation details.