Skip to main content

cloudkit/
lib.rs

1#![doc = include_str!("../README.md")]
2#![cfg_attr(docsrs, feature(doc_cfg))]
3#![allow(
4    clippy::cargo_common_metadata,
5    clippy::missing_const_for_fn,
6    clippy::missing_errors_doc,
7    clippy::missing_panics_doc,
8    clippy::derive_partial_eq_without_eq,
9    clippy::module_name_repetitions,
10    clippy::must_use_candidate,
11    clippy::needless_pass_by_value,
12    clippy::redundant_pub_crate,
13    clippy::ref_option,
14    clippy::return_self_not_must_use,
15    clippy::should_implement_trait,
16    clippy::struct_excessive_bools,
17    clippy::too_many_lines,
18    clippy::use_self
19)]
20
21/// Exposes `CloudKit` asset wrappers.
22pub mod asset;
23/// Exposes async `CloudKit` wrappers.
24#[cfg(feature = "async")]
25#[cfg_attr(docsrs, doc(cfg(feature = "async")))]
26pub mod async_api;
27/// Exposes `CloudKit` framework constants.
28pub mod constants;
29/// Exposes `CloudKit` container wrappers.
30pub mod container;
31/// Exposes `CloudKit` database wrappers.
32pub mod database;
33/// Exposes `CloudKit` error wrappers.
34pub mod error;
35/// Exposes `CloudKit` fetched-result wrappers.
36pub mod fetched_results;
37/// Exposes the low-level `CloudKit` bridge module.
38pub mod ffi;
39/// Exposes `CloudKit` notification wrappers.
40pub mod notification;
41/// Exposes `CloudKit` notification-info wrappers.
42pub mod notification_info;
43/// Exposes `CloudKit` operation wrappers.
44pub mod operation;
45mod private;
46/// Exposes `CloudKit` query wrappers.
47pub mod query;
48/// Exposes `CloudKit` record wrappers.
49pub mod record;
50/// Exposes `CloudKit` record ID wrappers.
51pub mod record_id;
52/// Exposes `CloudKit` reference wrappers.
53pub mod reference_utility;
54/// Exposes `CloudKit` server-change-token wrappers.
55pub mod server_change_token;
56/// Exposes `CloudKit` sharing wrappers.
57pub mod share;
58/// Exposes `CloudKit` subscription wrappers.
59pub mod subscription;
60/// Exposes `CloudKit` sync-engine wrappers.
61pub mod sync_engine;
62/// Exposes `CloudKit` user-identity wrappers.
63pub mod user_identity;
64/// Exposes `CloudKit` record-zone wrappers.
65pub mod zone;
66
67pub use asset::CKAsset;
68pub use constants::*;
69pub use container::{
70    AccountStatus, CKApplicationPermissionStatus, CKApplicationPermissions, CKContainer,
71};
72pub use database::{CKDatabase, CKDatabaseScope};
73pub use error::{
74    CloudKitError, CloudKitErrorCode, CLOUDKIT_BRIDGE_ERROR_DOMAIN, CLOUDKIT_ERROR_DOMAIN,
75};
76pub use fetched_results::{
77    CKDeletedRecord, CKFetchDatabaseChangesResult, CKFetchRecordZoneChangesResult,
78    CKFetchRecordZoneResult, CKFetchRecordsResult, CKFetchedQueryResults, CKQueryCursor,
79    CKRecordResult,
80};
81pub use notification::*;
82pub use notification_info::CKNotificationInfo;
83pub use operation::*;
84pub use query::{CKLocationSortDescriptor, CKQuery, SortDescriptor};
85pub use record::{CKRecord, CKRecordKeyValueSetting, RecordValue};
86pub use record_id::CKRecordID;
87pub use reference_utility::{CKReference, CKReferenceAction};
88pub use server_change_token::CKServerChangeToken;
89pub use share::*;
90pub use subscription::{
91    CKAnySubscription, CKDatabaseSubscription, CKQuerySubscription, CKRecordZoneSubscription,
92    CKSubscription, CKSubscriptionType, QuerySubscriptionOptions,
93};
94pub use sync_engine::*;
95pub use user_identity::{CKPersonNameComponents, CKUserIdentity, CKUserIdentityLookupInfo};
96pub use zone::{
97    CKRecordZone, CKRecordZoneCapabilities, CKRecordZoneEncryptionScope, CKRecordZoneID,
98};
99
100/// Common imports.
101pub mod prelude {
102    pub use crate::asset::CKAsset;
103    pub use crate::constants::*;
104    pub use crate::container::{
105        AccountStatus, CKApplicationPermissionStatus, CKApplicationPermissions, CKContainer,
106    };
107    pub use crate::database::{CKDatabase, CKDatabaseScope};
108    pub use crate::error::{
109        CloudKitError, CloudKitErrorCode, CLOUDKIT_BRIDGE_ERROR_DOMAIN, CLOUDKIT_ERROR_DOMAIN,
110    };
111    pub use crate::fetched_results::{
112        CKDeletedRecord, CKFetchDatabaseChangesResult, CKFetchRecordZoneChangesResult,
113        CKFetchRecordZoneResult, CKFetchRecordsResult, CKFetchedQueryResults, CKQueryCursor,
114        CKRecordResult,
115    };
116    pub use crate::notification::*;
117    pub use crate::notification_info::CKNotificationInfo;
118    pub use crate::operation::*;
119    pub use crate::query::{CKLocationSortDescriptor, CKQuery, SortDescriptor};
120    pub use crate::record::{CKRecord, CKRecordKeyValueSetting, RecordValue};
121    pub use crate::record_id::CKRecordID;
122    pub use crate::reference_utility::{CKReference, CKReferenceAction};
123    pub use crate::server_change_token::CKServerChangeToken;
124    pub use crate::share::*;
125    pub use crate::subscription::{
126        CKAnySubscription, CKDatabaseSubscription, CKQuerySubscription, CKRecordZoneSubscription,
127        CKSubscription, CKSubscriptionType, QuerySubscriptionOptions,
128    };
129    pub use crate::sync_engine::*;
130    pub use crate::user_identity::{
131        CKPersonNameComponents, CKUserIdentity, CKUserIdentityLookupInfo,
132    };
133    pub use crate::zone::{
134        CKRecordZone, CKRecordZoneCapabilities, CKRecordZoneEncryptionScope, CKRecordZoneID,
135    };
136}