PACS System 0.1.0
PACS DICOM system library
Loading...
Searching...
No Matches
sync_types.h File Reference

Types and structures for bidirectional DICOM synchronization. More...

#include <chrono>
#include <cstddef>
#include <cstdint>
#include <functional>
#include <optional>
#include <string>
#include <string_view>
#include <vector>
Include dependency graph for sync_types.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  kcenon::pacs::client::sync_config
 Configuration for a synchronization task. More...
 
struct  kcenon::pacs::client::sync_conflict
 Represents a conflict detected during synchronization. More...
 
struct  kcenon::pacs::client::sync_result
 Result of a synchronization operation. More...
 
struct  kcenon::pacs::client::sync_history
 Historical record of a sync operation. More...
 
struct  kcenon::pacs::client::sync_manager_config
 Configuration for the sync manager. More...
 
struct  kcenon::pacs::client::sync_statistics
 Aggregate statistics for synchronization operations. More...
 

Namespaces

namespace  kcenon
 
namespace  kcenon::pacs
 
namespace  kcenon::pacs::client
 

Typedefs

using kcenon::pacs::client::sync_progress_callback
 Callback for sync progress updates.
 
using kcenon::pacs::client::sync_completion_callback
 Callback for sync completion.
 
using kcenon::pacs::client::sync_conflict_callback = std::function<void(const sync_conflict& conflict)>
 Callback for conflict detection.
 

Enumerations

enum class  kcenon::pacs::client::sync_direction { kcenon::pacs::client::pull , kcenon::pacs::client::push , kcenon::pacs::client::bidirectional }
 Direction of synchronization. More...
 
enum class  kcenon::pacs::client::sync_conflict_type { kcenon::pacs::client::missing_local , kcenon::pacs::client::missing_remote , kcenon::pacs::client::modified , kcenon::pacs::client::count_mismatch }
 Type of synchronization conflict. More...
 
enum class  kcenon::pacs::client::conflict_resolution { kcenon::pacs::client::prefer_local , kcenon::pacs::client::prefer_remote , kcenon::pacs::client::prefer_newer }
 Strategy for resolving synchronization conflicts. More...
 

Functions

constexpr const char * kcenon::pacs::client::to_string (sync_direction direction) noexcept
 Convert sync_direction to string representation.
 
sync_direction kcenon::pacs::client::sync_direction_from_string (std::string_view str) noexcept
 Parse sync_direction from string.
 
constexpr const char * kcenon::pacs::client::to_string (sync_conflict_type type) noexcept
 Convert sync_conflict_type to string representation.
 
sync_conflict_type kcenon::pacs::client::sync_conflict_type_from_string (std::string_view str) noexcept
 Parse sync_conflict_type from string.
 
constexpr const char * kcenon::pacs::client::to_string (conflict_resolution resolution) noexcept
 Convert conflict_resolution to string representation.
 
conflict_resolution kcenon::pacs::client::conflict_resolution_from_string (std::string_view str) noexcept
 Parse conflict_resolution from string.
 

Detailed Description

Types and structures for bidirectional DICOM synchronization.

This file provides data structures for representing synchronization configurations, conflicts, and results for the sync_manager.

See also
Issue #542 - Implement Sync Manager for Bidirectional Synchronization
Issue #530 - PACS Client System Support (Parent Epic)
Author
kcenon
Since
1.0.0

Definition in file sync_types.h.