#[doc = "*Required features: `\"Storage_Provider\"`*"]
#[repr(transparent)]
pub struct CachedFileOptions(pub u32);
impl CachedFileOptions {
pub const None: Self = Self(0u32);
pub const RequireUpdateOnAccess: Self = Self(1u32);
pub const UseCachedFileWhenOffline: Self = Self(2u32);
pub const DenyAccessWhenOffline: Self = Self(4u32);
}
impl ::core::marker::Copy for CachedFileOptions {}
impl ::core::clone::Clone for CachedFileOptions {
fn clone(&self) -> Self {
*self
}
}
#[doc = "*Required features: `\"Storage_Provider\"`*"]
#[repr(transparent)]
pub struct CachedFileTarget(pub i32);
impl CachedFileTarget {
pub const Local: Self = Self(0i32);
pub const Remote: Self = Self(1i32);
}
impl ::core::marker::Copy for CachedFileTarget {}
impl ::core::clone::Clone for CachedFileTarget {
fn clone(&self) -> Self {
*self
}
}
pub type CachedFileUpdaterUI = *mut ::core::ffi::c_void;
pub type FileUpdateRequest = *mut ::core::ffi::c_void;
pub type FileUpdateRequestDeferral = *mut ::core::ffi::c_void;
pub type FileUpdateRequestedEventArgs = *mut ::core::ffi::c_void;
#[doc = "*Required features: `\"Storage_Provider\"`*"]
#[repr(transparent)]
pub struct FileUpdateStatus(pub i32);
impl FileUpdateStatus {
pub const Incomplete: Self = Self(0i32);
pub const Complete: Self = Self(1i32);
pub const UserInputNeeded: Self = Self(2i32);
pub const CurrentlyUnavailable: Self = Self(3i32);
pub const Failed: Self = Self(4i32);
pub const CompleteAndRenamed: Self = Self(5i32);
}
impl ::core::marker::Copy for FileUpdateStatus {}
impl ::core::clone::Clone for FileUpdateStatus {
fn clone(&self) -> Self {
*self
}
}
pub type IStorageProviderHandlerFactory = *mut ::core::ffi::c_void;
pub type IStorageProviderItemPropertySource = *mut ::core::ffi::c_void;
pub type IStorageProviderPropertyCapabilities = *mut ::core::ffi::c_void;
pub type IStorageProviderStatusSource = *mut ::core::ffi::c_void;
pub type IStorageProviderUriSource = *mut ::core::ffi::c_void;
#[doc = "*Required features: `\"Storage_Provider\"`*"]
#[repr(transparent)]
pub struct ReadActivationMode(pub i32);
impl ReadActivationMode {
pub const NotNeeded: Self = Self(0i32);
pub const BeforeAccess: Self = Self(1i32);
}
impl ::core::marker::Copy for ReadActivationMode {}
impl ::core::clone::Clone for ReadActivationMode {
fn clone(&self) -> Self {
*self
}
}
pub type StorageProviderError = *mut ::core::ffi::c_void;
pub type StorageProviderErrorCommand = *mut ::core::ffi::c_void;
pub type StorageProviderFileTypeInfo = *mut ::core::ffi::c_void;
pub type StorageProviderGetContentInfoForPathResult = *mut ::core::ffi::c_void;
pub type StorageProviderGetPathForContentUriResult = *mut ::core::ffi::c_void;
#[doc = "*Required features: `\"Storage_Provider\"`*"]
#[repr(transparent)]
pub struct StorageProviderHardlinkPolicy(pub u32);
impl StorageProviderHardlinkPolicy {
pub const None: Self = Self(0u32);
pub const Allowed: Self = Self(1u32);
}
impl ::core::marker::Copy for StorageProviderHardlinkPolicy {}
impl ::core::clone::Clone for StorageProviderHardlinkPolicy {
fn clone(&self) -> Self {
*self
}
}
#[doc = "*Required features: `\"Storage_Provider\"`*"]
#[repr(transparent)]
pub struct StorageProviderHydrationPolicy(pub i32);
impl StorageProviderHydrationPolicy {
pub const Partial: Self = Self(0i32);
pub const Progressive: Self = Self(1i32);
pub const Full: Self = Self(2i32);
pub const AlwaysFull: Self = Self(3i32);
}
impl ::core::marker::Copy for StorageProviderHydrationPolicy {}
impl ::core::clone::Clone for StorageProviderHydrationPolicy {
fn clone(&self) -> Self {
*self
}
}
#[doc = "*Required features: `\"Storage_Provider\"`*"]
#[repr(transparent)]
pub struct StorageProviderHydrationPolicyModifier(pub u32);
impl StorageProviderHydrationPolicyModifier {
pub const None: Self = Self(0u32);
pub const ValidationRequired: Self = Self(1u32);
pub const StreamingAllowed: Self = Self(2u32);
pub const AutoDehydrationAllowed: Self = Self(4u32);
pub const AllowFullRestartHydration: Self = Self(8u32);
}
impl ::core::marker::Copy for StorageProviderHydrationPolicyModifier {}
impl ::core::clone::Clone for StorageProviderHydrationPolicyModifier {
fn clone(&self) -> Self {
*self
}
}
#[doc = "*Required features: `\"Storage_Provider\"`*"]
#[repr(transparent)]
pub struct StorageProviderInSyncPolicy(pub u32);
impl StorageProviderInSyncPolicy {
pub const Default: Self = Self(0u32);
pub const FileCreationTime: Self = Self(1u32);
pub const FileReadOnlyAttribute: Self = Self(2u32);
pub const FileHiddenAttribute: Self = Self(4u32);
pub const FileSystemAttribute: Self = Self(8u32);
pub const DirectoryCreationTime: Self = Self(16u32);
pub const DirectoryReadOnlyAttribute: Self = Self(32u32);
pub const DirectoryHiddenAttribute: Self = Self(64u32);
pub const DirectorySystemAttribute: Self = Self(128u32);
pub const FileLastWriteTime: Self = Self(256u32);
pub const DirectoryLastWriteTime: Self = Self(512u32);
pub const PreserveInsyncForSyncEngine: Self = Self(2147483648u32);
}
impl ::core::marker::Copy for StorageProviderInSyncPolicy {}
impl ::core::clone::Clone for StorageProviderInSyncPolicy {
fn clone(&self) -> Self {
*self
}
}
pub type StorageProviderItemProperty = *mut ::core::ffi::c_void;
pub type StorageProviderItemPropertyDefinition = *mut ::core::ffi::c_void;
#[doc = "*Required features: `\"Storage_Provider\"`*"]
#[repr(transparent)]
pub struct StorageProviderPopulationPolicy(pub i32);
impl StorageProviderPopulationPolicy {
pub const Full: Self = Self(1i32);
pub const AlwaysFull: Self = Self(2i32);
}
impl ::core::marker::Copy for StorageProviderPopulationPolicy {}
impl ::core::clone::Clone for StorageProviderPopulationPolicy {
fn clone(&self) -> Self {
*self
}
}
#[doc = "*Required features: `\"Storage_Provider\"`*"]
#[repr(transparent)]
pub struct StorageProviderProtectionMode(pub i32);
impl StorageProviderProtectionMode {
pub const Unknown: Self = Self(0i32);
pub const Personal: Self = Self(1i32);
}
impl ::core::marker::Copy for StorageProviderProtectionMode {}
impl ::core::clone::Clone for StorageProviderProtectionMode {
fn clone(&self) -> Self {
*self
}
}
#[doc = "*Required features: `\"Storage_Provider\"`*"]
#[repr(transparent)]
pub struct StorageProviderState(pub i32);
impl StorageProviderState {
pub const InSync: Self = Self(0i32);
pub const Syncing: Self = Self(1i32);
pub const Paused: Self = Self(2i32);
pub const Error: Self = Self(3i32);
pub const Warning: Self = Self(4i32);
pub const Offline: Self = Self(5i32);
}
impl ::core::marker::Copy for StorageProviderState {}
impl ::core::clone::Clone for StorageProviderState {
fn clone(&self) -> Self {
*self
}
}
pub type StorageProviderStatus = *mut ::core::ffi::c_void;
pub type StorageProviderSyncRootInfo = *mut ::core::ffi::c_void;
#[doc = "*Required features: `\"Storage_Provider\"`*"]
#[repr(transparent)]
pub struct StorageProviderUriSourceStatus(pub i32);
impl StorageProviderUriSourceStatus {
pub const Success: Self = Self(0i32);
pub const NoSyncRoot: Self = Self(1i32);
pub const FileNotFound: Self = Self(2i32);
}
impl ::core::marker::Copy for StorageProviderUriSourceStatus {}
impl ::core::clone::Clone for StorageProviderUriSourceStatus {
fn clone(&self) -> Self {
*self
}
}
#[doc = "*Required features: `\"Storage_Provider\"`*"]
#[repr(transparent)]
pub struct UIStatus(pub i32);
impl UIStatus {
pub const Unavailable: Self = Self(0i32);
pub const Hidden: Self = Self(1i32);
pub const Visible: Self = Self(2i32);
pub const Complete: Self = Self(3i32);
}
impl ::core::marker::Copy for UIStatus {}
impl ::core::clone::Clone for UIStatus {
fn clone(&self) -> Self {
*self
}
}
#[doc = "*Required features: `\"Storage_Provider\"`*"]
#[repr(transparent)]
pub struct WriteActivationMode(pub i32);
impl WriteActivationMode {
pub const ReadOnly: Self = Self(0i32);
pub const NotNeeded: Self = Self(1i32);
pub const AfterWrite: Self = Self(2i32);
}
impl ::core::marker::Copy for WriteActivationMode {}
impl ::core::clone::Clone for WriteActivationMode {
fn clone(&self) -> Self {
*self
}
}