OXY API 1.0
OXY API Library Documentation
Loading...
Searching...
No Matches
Introduction

Welcome to the OXY-API library user manual.

This documentation is generated with Doxygen and is intended to help developers and integrators quickly understand, use, and extend the libraries.
It provides a guided overview of the project, core concepts, public APIs, and practical usage patterns.

Use this manual to:

  • learn the purpose and design goals of the project,
  • find usage examples and recommended integration approaches,
  • understand module boundaries and key abstractions,
  • navigate reference material for classes, functions, and data structures.

Whether you are evaluating Oxy for the first time or maintaining an existing integration, this guide is designed to be a practical starting point for day-to-day development.

Concepts and Architecture

OXY is a version control distributed data storage container management framework. Version control is a way to save changes over time without overwriting previous versions. Being distributed means that every application working with a OXY container has a copy of that entire container, including all of its history.

OXY is organized into for main components:

  • OXY-API: This library that provides a high-level and low-level interface for interacting with containers, including version control operations, data storage, and container management.
  • OXY-SYNC-CONTAINER: Plugin library that provides a synchronization mechanism for containers, allowing multiple applications to work with the same container simultaneously.
  • OXY-SYNC-DIRECTORY: Plugin library that provides a synchronization mechanism for container metadata, allowing multiple applications to work with the same metadata simultaneously.
  • OXY-AUTHENTICATION: Plugin library that provides authentication mechanisms for synchronization, ensuring that only authenticated users can perform synchronization operations.

OXY-API is designed to be:

  • modular, extensible, and efficient, allowing developers to focus on application logic rather than low-level details.
  • cross-platform, supporting multiple operating systems and architectures.
  • easy to use, with a consistent and intuitive API that follows modern C++ best practices.
  • open-source, with a permissive license that allows developers to use, and modify the libraries freely.
  • configurable, with a focus on providing developers with the tools they need to customize the libraries for their specific use cases.
  • adaptable, with a focus on providing developers with the tools they need to create applications that can adjust to changing requirements and environments.

All operations on containers, including version control, data storage, and container management, are performed through the OXY-API. The library is designed to be easy to use and understand, with a focus on providing developers with the tools they need to build applications that leverage the power of OXY containers.

All high-level functionalities in the OXY-API are grouped under the oxy and oxy::api namespaces, while low-level functionalities are grouped under the oxy::core and oxy::filter namespaces.