use objc2::__framework_prelude::*;
#[cfg(feature = "objc2-core-data")]
use objc2_core_data::*;
use objc2_foundation::*;
use crate::*;
extern_class!(
#[derive(Debug, PartialEq, Eq, Hash)]
#[cfg(feature = "NSDocument")]
pub struct NSPersistentDocument;
#[cfg(feature = "NSDocument")]
unsafe impl ClassType for NSPersistentDocument {
#[inherits(NSObject)]
type Super = NSDocument;
type Mutability = MainThreadOnly;
}
);
#[cfg(all(feature = "NSDocument", feature = "NSKeyValueBinding"))]
unsafe impl NSEditorRegistration for NSPersistentDocument {}
#[cfg(feature = "NSDocument")]
unsafe impl NSFilePresenter for NSPersistentDocument {}
#[cfg(all(feature = "NSDocument", feature = "NSMenu"))]
unsafe impl NSMenuItemValidation for NSPersistentDocument {}
#[cfg(feature = "NSDocument")]
unsafe impl NSObjectProtocol for NSPersistentDocument {}
#[cfg(all(feature = "NSDocument", feature = "NSUserInterfaceValidation"))]
unsafe impl NSUserInterfaceValidations for NSPersistentDocument {}
extern_methods!(
#[cfg(feature = "NSDocument")]
unsafe impl NSPersistentDocument {
#[cfg(feature = "objc2-core-data")]
#[method_id(@__retain_semantics Other managedObjectContext)]
pub unsafe fn managedObjectContext(&self) -> Option<Id<NSManagedObjectContext>>;
#[cfg(feature = "objc2-core-data")]
#[method(setManagedObjectContext:)]
pub unsafe fn setManagedObjectContext(
&self,
managed_object_context: Option<&NSManagedObjectContext>,
);
#[cfg(feature = "objc2-core-data")]
#[method_id(@__retain_semantics Other managedObjectModel)]
pub unsafe fn managedObjectModel(&self) -> Option<Id<NSManagedObjectModel>>;
#[method(configurePersistentStoreCoordinatorForURL:ofType:modelConfiguration:storeOptions:error:_)]
pub unsafe fn configurePersistentStoreCoordinatorForURL_ofType_modelConfiguration_storeOptions_error(
&self,
url: &NSURL,
file_type: &NSString,
configuration: Option<&NSString>,
store_options: Option<&NSDictionary<NSString, AnyObject>>,
) -> Result<(), Id<NSError>>;
#[method_id(@__retain_semantics Other persistentStoreTypeForFileType:)]
pub unsafe fn persistentStoreTypeForFileType(&self, file_type: &NSString) -> Id<NSString>;
#[method(writeToURL:ofType:forSaveOperation:originalContentsURL:error:_)]
pub unsafe fn writeToURL_ofType_forSaveOperation_originalContentsURL_error(
&self,
absolute_url: &NSURL,
type_name: &NSString,
save_operation: NSSaveOperationType,
absolute_original_contents_url: Option<&NSURL>,
) -> Result<(), Id<NSError>>;
#[method(readFromURL:ofType:error:_)]
pub unsafe fn readFromURL_ofType_error(
&self,
absolute_url: &NSURL,
type_name: &NSString,
) -> Result<(), Id<NSError>>;
#[method(revertToContentsOfURL:ofType:error:_)]
pub unsafe fn revertToContentsOfURL_ofType_error(
&self,
in_absolute_url: &NSURL,
in_type_name: &NSString,
) -> Result<(), Id<NSError>>;
}
);
extern_methods!(
#[cfg(feature = "NSDocument")]
unsafe impl NSPersistentDocument {
#[method_id(@__retain_semantics Init init)]
pub unsafe fn init(this: Allocated<Self>) -> Id<Self>;
#[method_id(@__retain_semantics Init initWithType:error:_)]
pub unsafe fn initWithType_error(
this: Allocated<Self>,
type_name: &NSString,
) -> Result<Id<Self>, Id<NSError>>;
#[method_id(@__retain_semantics Init initWithContentsOfURL:ofType:error:_)]
pub unsafe fn initWithContentsOfURL_ofType_error(
this: Allocated<Self>,
url: &NSURL,
type_name: &NSString,
) -> Result<Id<Self>, Id<NSError>>;
#[method_id(@__retain_semantics Init initForURL:withContentsOfURL:ofType:error:_)]
pub unsafe fn initForURL_withContentsOfURL_ofType_error(
this: Allocated<Self>,
url_or_nil: Option<&NSURL>,
contents_url: &NSURL,
type_name: &NSString,
) -> Result<Id<Self>, Id<NSError>>;
}
);
extern_methods!(
#[cfg(feature = "NSDocument")]
unsafe impl NSPersistentDocument {
#[method_id(@__retain_semantics New new)]
pub unsafe fn new(mtm: MainThreadMarker) -> Id<Self>;
}
);
extern_methods!(
#[cfg(feature = "NSDocument")]
unsafe impl NSPersistentDocument {
#[deprecated]
#[method(configurePersistentStoreCoordinatorForURL:ofType:error:_)]
pub unsafe fn configurePersistentStoreCoordinatorForURL_ofType_error(
&self,
url: Option<&NSURL>,
file_type: Option<&NSString>,
) -> Result<(), Id<NSError>>;
}
);