RealmSwift-Swift.h 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510
  1. // Generated by Apple Swift version 4.2 (swiftlang-1000.11.37.1 clang-1000.11.45.1)
  2. #pragma clang diagnostic push
  3. #pragma clang diagnostic ignored "-Wgcc-compat"
  4. #if !defined(__has_include)
  5. # define __has_include(x) 0
  6. #endif
  7. #if !defined(__has_attribute)
  8. # define __has_attribute(x) 0
  9. #endif
  10. #if !defined(__has_feature)
  11. # define __has_feature(x) 0
  12. #endif
  13. #if !defined(__has_warning)
  14. # define __has_warning(x) 0
  15. #endif
  16. #if __has_include(<swift/objc-prologue.h>)
  17. # include <swift/objc-prologue.h>
  18. #endif
  19. #pragma clang diagnostic ignored "-Wauto-import"
  20. #include <objc/NSObject.h>
  21. #include <stdint.h>
  22. #include <stddef.h>
  23. #include <stdbool.h>
  24. #if !defined(SWIFT_TYPEDEFS)
  25. # define SWIFT_TYPEDEFS 1
  26. # if __has_include(<uchar.h>)
  27. # include <uchar.h>
  28. # elif !defined(__cplusplus)
  29. typedef uint_least16_t char16_t;
  30. typedef uint_least32_t char32_t;
  31. # endif
  32. typedef float swift_float2 __attribute__((__ext_vector_type__(2)));
  33. typedef float swift_float3 __attribute__((__ext_vector_type__(3)));
  34. typedef float swift_float4 __attribute__((__ext_vector_type__(4)));
  35. typedef double swift_double2 __attribute__((__ext_vector_type__(2)));
  36. typedef double swift_double3 __attribute__((__ext_vector_type__(3)));
  37. typedef double swift_double4 __attribute__((__ext_vector_type__(4)));
  38. typedef int swift_int2 __attribute__((__ext_vector_type__(2)));
  39. typedef int swift_int3 __attribute__((__ext_vector_type__(3)));
  40. typedef int swift_int4 __attribute__((__ext_vector_type__(4)));
  41. typedef unsigned int swift_uint2 __attribute__((__ext_vector_type__(2)));
  42. typedef unsigned int swift_uint3 __attribute__((__ext_vector_type__(3)));
  43. typedef unsigned int swift_uint4 __attribute__((__ext_vector_type__(4)));
  44. #endif
  45. #if !defined(SWIFT_PASTE)
  46. # define SWIFT_PASTE_HELPER(x, y) x##y
  47. # define SWIFT_PASTE(x, y) SWIFT_PASTE_HELPER(x, y)
  48. #endif
  49. #if !defined(SWIFT_METATYPE)
  50. # define SWIFT_METATYPE(X) Class
  51. #endif
  52. #if !defined(SWIFT_CLASS_PROPERTY)
  53. # if __has_feature(objc_class_property)
  54. # define SWIFT_CLASS_PROPERTY(...) __VA_ARGS__
  55. # else
  56. # define SWIFT_CLASS_PROPERTY(...)
  57. # endif
  58. #endif
  59. #if __has_attribute(objc_runtime_name)
  60. # define SWIFT_RUNTIME_NAME(X) __attribute__((objc_runtime_name(X)))
  61. #else
  62. # define SWIFT_RUNTIME_NAME(X)
  63. #endif
  64. #if __has_attribute(swift_name)
  65. # define SWIFT_COMPILE_NAME(X) __attribute__((swift_name(X)))
  66. #else
  67. # define SWIFT_COMPILE_NAME(X)
  68. #endif
  69. #if __has_attribute(objc_method_family)
  70. # define SWIFT_METHOD_FAMILY(X) __attribute__((objc_method_family(X)))
  71. #else
  72. # define SWIFT_METHOD_FAMILY(X)
  73. #endif
  74. #if __has_attribute(noescape)
  75. # define SWIFT_NOESCAPE __attribute__((noescape))
  76. #else
  77. # define SWIFT_NOESCAPE
  78. #endif
  79. #if __has_attribute(warn_unused_result)
  80. # define SWIFT_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
  81. #else
  82. # define SWIFT_WARN_UNUSED_RESULT
  83. #endif
  84. #if __has_attribute(noreturn)
  85. # define SWIFT_NORETURN __attribute__((noreturn))
  86. #else
  87. # define SWIFT_NORETURN
  88. #endif
  89. #if !defined(SWIFT_CLASS_EXTRA)
  90. # define SWIFT_CLASS_EXTRA
  91. #endif
  92. #if !defined(SWIFT_PROTOCOL_EXTRA)
  93. # define SWIFT_PROTOCOL_EXTRA
  94. #endif
  95. #if !defined(SWIFT_ENUM_EXTRA)
  96. # define SWIFT_ENUM_EXTRA
  97. #endif
  98. #if !defined(SWIFT_CLASS)
  99. # if __has_attribute(objc_subclassing_restricted)
  100. # define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_CLASS_EXTRA
  101. # define SWIFT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
  102. # else
  103. # define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
  104. # define SWIFT_CLASS_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
  105. # endif
  106. #endif
  107. #if !defined(SWIFT_PROTOCOL)
  108. # define SWIFT_PROTOCOL(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA
  109. # define SWIFT_PROTOCOL_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA
  110. #endif
  111. #if !defined(SWIFT_EXTENSION)
  112. # define SWIFT_EXTENSION(M) SWIFT_PASTE(M##_Swift_, __LINE__)
  113. #endif
  114. #if !defined(OBJC_DESIGNATED_INITIALIZER)
  115. # if __has_attribute(objc_designated_initializer)
  116. # define OBJC_DESIGNATED_INITIALIZER __attribute__((objc_designated_initializer))
  117. # else
  118. # define OBJC_DESIGNATED_INITIALIZER
  119. # endif
  120. #endif
  121. #if !defined(SWIFT_ENUM_ATTR)
  122. # if defined(__has_attribute) && __has_attribute(enum_extensibility)
  123. # define SWIFT_ENUM_ATTR(_extensibility) __attribute__((enum_extensibility(_extensibility)))
  124. # else
  125. # define SWIFT_ENUM_ATTR(_extensibility)
  126. # endif
  127. #endif
  128. #if !defined(SWIFT_ENUM)
  129. # define SWIFT_ENUM(_type, _name, _extensibility) enum _name : _type _name; enum SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type
  130. # if __has_feature(generalized_swift_name)
  131. # define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) enum _name : _type _name SWIFT_COMPILE_NAME(SWIFT_NAME); enum SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type
  132. # else
  133. # define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) SWIFT_ENUM(_type, _name, _extensibility)
  134. # endif
  135. #endif
  136. #if !defined(SWIFT_UNAVAILABLE)
  137. # define SWIFT_UNAVAILABLE __attribute__((unavailable))
  138. #endif
  139. #if !defined(SWIFT_UNAVAILABLE_MSG)
  140. # define SWIFT_UNAVAILABLE_MSG(msg) __attribute__((unavailable(msg)))
  141. #endif
  142. #if !defined(SWIFT_AVAILABILITY)
  143. # define SWIFT_AVAILABILITY(plat, ...) __attribute__((availability(plat, __VA_ARGS__)))
  144. #endif
  145. #if !defined(SWIFT_DEPRECATED)
  146. # define SWIFT_DEPRECATED __attribute__((deprecated))
  147. #endif
  148. #if !defined(SWIFT_DEPRECATED_MSG)
  149. # define SWIFT_DEPRECATED_MSG(...) __attribute__((deprecated(__VA_ARGS__)))
  150. #endif
  151. #if __has_feature(attribute_diagnose_if_objc)
  152. # define SWIFT_DEPRECATED_OBJC(Msg) __attribute__((diagnose_if(1, Msg, "warning")))
  153. #else
  154. # define SWIFT_DEPRECATED_OBJC(Msg) SWIFT_DEPRECATED_MSG(Msg)
  155. #endif
  156. #if __has_feature(modules)
  157. @import Foundation;
  158. @import ObjectiveC;
  159. @import Realm;
  160. @import Realm.Private;
  161. #endif
  162. #pragma clang diagnostic ignored "-Wproperty-attribute-mismatch"
  163. #pragma clang diagnostic ignored "-Wduplicate-method-arg"
  164. #if __has_warning("-Wpragma-clang-attribute")
  165. # pragma clang diagnostic ignored "-Wpragma-clang-attribute"
  166. #endif
  167. #pragma clang diagnostic ignored "-Wunknown-pragmas"
  168. #pragma clang diagnostic ignored "-Wnullability"
  169. #if __has_attribute(external_source_symbol)
  170. # pragma push_macro("any")
  171. # undef any
  172. # pragma clang attribute push(__attribute__((external_source_symbol(language="Swift", defined_in="RealmSwift",generated_declaration))), apply_to=any(function,enum,objc_interface,objc_category,objc_protocol))
  173. # pragma pop_macro("any")
  174. #endif
  175. @class RLMRealm;
  176. @class RLMObjectSchema;
  177. @class RLMSchema;
  178. /// <code>Object</code> is a class used to define Realm model objects.
  179. /// In Realm you define your model classes by subclassing <code>Object</code> and adding properties to be managed.
  180. /// You then instantiate and use your custom subclasses instead of using the <code>Object</code> class directly.
  181. /// \code
  182. /// class Dog: Object {
  183. /// @objc dynamic var name: String = ""
  184. /// @objc dynamic var adopted: Bool = false
  185. /// let siblings = List<Dog>()
  186. /// }
  187. ///
  188. /// \endcode<h3>Supported property types</h3>
  189. /// <ul>
  190. /// <li>
  191. /// <code>String</code>, <code>NSString</code>
  192. /// </li>
  193. /// <li>
  194. /// <code>Int</code>
  195. /// </li>
  196. /// <li>
  197. /// <code>Int8</code>, <code>Int16</code>, <code>Int32</code>, <code>Int64</code>
  198. /// </li>
  199. /// <li>
  200. /// <code>Float</code>
  201. /// </li>
  202. /// <li>
  203. /// <code>Double</code>
  204. /// </li>
  205. /// <li>
  206. /// <code>Bool</code>
  207. /// </li>
  208. /// <li>
  209. /// <code>Date</code>, <code>NSDate</code>
  210. /// </li>
  211. /// <li>
  212. /// <code>Data</code>, <code>NSData</code>
  213. /// </li>
  214. /// <li>
  215. /// <code>RealmOptional<Value></code> for optional numeric properties
  216. /// </li>
  217. /// <li>
  218. /// <code>Object</code> subclasses, to model many-to-one relationships
  219. /// </li>
  220. /// <li>
  221. /// <code>List<Element></code>, to model many-to-many relationships
  222. /// </li>
  223. /// </ul>
  224. /// <code>String</code>, <code>NSString</code>, <code>Date</code>, <code>NSDate</code>, <code>Data</code>, <code>NSData</code> and <code>Object</code> subclass properties can be declared as optional.
  225. /// <code>Int</code>, <code>Int8</code>, <code>Int16</code>, <code>Int32</code>, <code>Int64</code>, <code>Float</code>, <code>Double</code>, <code>Bool</code>, and <code>List</code> properties cannot. To store an optional
  226. /// number, use <code>RealmOptional<Int></code>, <code>RealmOptional<Float></code>, <code>RealmOptional<Double></code>, or <code>RealmOptional<Bool></code> instead,
  227. /// which wraps an optional numeric value.
  228. /// All property types except for <code>List</code> and <code>RealmOptional</code> <em>must</em> be declared as <code>@objc dynamic var</code>. <code>List</code> and
  229. /// <code>RealmOptional</code> properties must be declared as non-dynamic <code>let</code> properties. Swift <code>lazy</code> properties are not allowed.
  230. /// Note that none of the restrictions listed above apply to properties that are configured to be ignored by Realm.
  231. /// <h3>Querying</h3>
  232. /// You can retrieve all objects of a given type from a Realm by calling the <code>objects(_:)</code> instance method.
  233. /// <h3>Relationships</h3>
  234. /// See our <a href="http://realm.io/docs/cocoa">Cocoa guide</a> for more details.
  235. SWIFT_CLASS_NAMED("Object")
  236. @interface RealmSwiftObject : RLMObjectBase
  237. /// Creates an unmanaged instance of a Realm object.
  238. /// Call <code>add(_:)</code> on a <code>Realm</code> instance to add an unmanaged object into that Realm.
  239. /// <ul>
  240. /// <li>
  241. /// see: <code>Realm().add(_:)</code>
  242. /// </li>
  243. /// </ul>
  244. - (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
  245. /// Indicates if the object can no longer be accessed because it is now invalid.
  246. /// An object can no longer be accessed if the object has been deleted from the Realm that manages it, or if
  247. /// <code>invalidate()</code> is called on that Realm.
  248. @property (nonatomic, readonly, getter=isInvalidated) BOOL invalidated;
  249. /// A human-readable description of the object.
  250. @property (nonatomic, readonly, copy) NSString * _Nonnull description;
  251. /// WARNING: This is an internal helper method not intended for public use.
  252. /// It is not considered part of the public API.
  253. /// :nodoc:
  254. + (Class _Nonnull)objectUtilClass:(BOOL)isSwift SWIFT_WARN_UNUSED_RESULT;
  255. /// Override this method to specify the name of a property to be used as the primary key.
  256. /// Only properties of types <code>String</code> and <code>Int</code> can be designated as the primary key. Primary key properties enforce
  257. /// uniqueness for each value whenever the property is set, which incurs minor overhead. Indexes are created
  258. /// automatically for primary key properties.
  259. ///
  260. /// returns:
  261. /// The name of the property designated as the primary key, or <code>nil</code> if the model has no primary key.
  262. + (NSString * _Nullable)primaryKey SWIFT_WARN_UNUSED_RESULT;
  263. /// Override this method to specify the names of properties to ignore. These properties will not be managed by
  264. /// the Realm that manages the object.
  265. ///
  266. /// returns:
  267. /// An array of property names to ignore.
  268. + (NSArray<NSString *> * _Nonnull)ignoredProperties SWIFT_WARN_UNUSED_RESULT;
  269. /// Returns an array of property names for properties which should be indexed.
  270. /// Only string, integer, boolean, <code>Date</code>, and <code>NSDate</code> properties are supported.
  271. ///
  272. /// returns:
  273. /// An array of property names.
  274. + (NSArray<NSString *> * _Nonnull)indexedProperties SWIFT_WARN_UNUSED_RESULT;
  275. - (id _Nullable)objectForKeyedSubscript:(NSString * _Nonnull)key SWIFT_WARN_UNUSED_RESULT;
  276. - (void)setObject:(id _Nullable)value forKeyedSubscript:(NSString * _Nonnull)key;
  277. /// WARNING: This is an internal initializer not intended for public use.
  278. /// :nodoc:
  279. - (nonnull instancetype)initWithRealm:(RLMRealm * _Nonnull)realm schema:(RLMObjectSchema * _Nonnull)schema OBJC_DESIGNATED_INITIALIZER;
  280. /// WARNING: This is an internal initializer not intended for public use.
  281. /// :nodoc:
  282. - (nonnull instancetype)initWithValue:(id _Nonnull)value schema:(RLMSchema * _Nonnull)schema OBJC_DESIGNATED_INITIALIZER;
  283. @end
  284. /// An object which describes class-wide permissions.
  285. /// An instance of this object is automatically created in the Realm for class in your schema,
  286. /// and should not be created manually.
  287. SWIFT_CLASS_NAMED("ClassPermission")
  288. @interface RealmSwiftClassPermission : RealmSwiftObject
  289. /// The name of the class which these permissions apply to.
  290. @property (nonatomic, copy) NSString * _Nonnull name;
  291. /// :nodoc:
  292. + (NSString * _Nonnull)_realmObjectName SWIFT_WARN_UNUSED_RESULT;
  293. /// :nodoc:
  294. + (NSString * _Nonnull)primaryKey SWIFT_WARN_UNUSED_RESULT;
  295. - (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
  296. - (nonnull instancetype)initWithRealm:(RLMRealm * _Nonnull)realm schema:(RLMObjectSchema * _Nonnull)schema OBJC_DESIGNATED_INITIALIZER;
  297. - (nonnull instancetype)initWithValue:(id _Nonnull)value schema:(RLMSchema * _Nonnull)schema OBJC_DESIGNATED_INITIALIZER;
  298. @end
  299. /// Object interface which allows untyped getters and setters for Objects.
  300. /// :nodoc:
  301. SWIFT_CLASS("_TtC10RealmSwift13DynamicObject")
  302. @interface DynamicObject : RealmSwiftObject
  303. - (id _Nullable)objectForKeyedSubscript:(NSString * _Nonnull)key SWIFT_WARN_UNUSED_RESULT;
  304. - (void)setObject:(id _Nullable)value forKeyedSubscript:(NSString * _Nonnull)key;
  305. /// :nodoc:
  306. - (id _Nullable)valueForUndefinedKey:(NSString * _Nonnull)key SWIFT_WARN_UNUSED_RESULT;
  307. /// :nodoc:
  308. - (void)setValue:(id _Nullable)value forUndefinedKey:(NSString * _Nonnull)key;
  309. /// :nodoc:
  310. + (BOOL)shouldIncludeInDefaultSchema SWIFT_WARN_UNUSED_RESULT;
  311. - (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
  312. - (nonnull instancetype)initWithRealm:(RLMRealm * _Nonnull)realm schema:(RLMObjectSchema * _Nonnull)schema OBJC_DESIGNATED_INITIALIZER;
  313. - (nonnull instancetype)initWithValue:(id _Nonnull)value schema:(RLMSchema * _Nonnull)schema OBJC_DESIGNATED_INITIALIZER;
  314. @end
  315. SWIFT_CLASS("_TtC10RealmSwift36KeyValueObservationNotificationToken")
  316. @interface KeyValueObservationNotificationToken : RLMNotificationToken
  317. - (void)invalidate;
  318. - (nonnull instancetype)init SWIFT_UNAVAILABLE;
  319. + (nonnull instancetype)new SWIFT_DEPRECATED_MSG("-init is unavailable");
  320. @end
  321. /// :nodoc:
  322. /// Internal class. Do not use directly. Used for reflection and initialization
  323. SWIFT_CLASS("_TtC10RealmSwift18LinkingObjectsBase")
  324. @interface LinkingObjectsBase : NSObject <NSFastEnumeration>
  325. - (NSInteger)countByEnumeratingWithState:(NSFastEnumerationState * _Nonnull)state objects:(id _Nullable * _Nonnull)buffer count:(NSInteger)len SWIFT_WARN_UNUSED_RESULT;
  326. - (nonnull instancetype)init SWIFT_UNAVAILABLE;
  327. + (nonnull instancetype)new SWIFT_DEPRECATED_MSG("-init is unavailable");
  328. @end
  329. /// :nodoc:
  330. /// Internal class. Do not use directly.
  331. SWIFT_CLASS("_TtC10RealmSwift8ListBase")
  332. @interface ListBase : RLMListBase
  333. /// Returns a human-readable description of the objects contained in the List.
  334. @property (nonatomic, readonly, copy) NSString * _Nonnull description;
  335. - (nonnull instancetype)initWithArray:(RLMArray<id> * _Nonnull)array OBJC_DESIGNATED_INITIALIZER;
  336. - (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
  337. @end
  338. /// :nodoc:
  339. /// Internal class. Do not use directly.
  340. SWIFT_CLASS_NAMED("ObjectUtil")
  341. @interface RealmSwiftObjectUtil : NSObject
  342. - (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
  343. @end
  344. @class RealmSwiftPermissionRole;
  345. /// A permission which can be applied to a Realm, Class, or specific Object.
  346. /// Permissions are applied by adding the permission to the RealmPermission singleton
  347. /// object, the ClassPermission object for the desired class, or to a user-defined
  348. /// List<Permission> property on a specific Object instance. The meaning of each of
  349. /// the properties of Permission depend on what the permission is applied to, and so are
  350. /// left undocumented here. See <code>RealmPrivileges</code>, <code>ClassPrivileges</code>, and
  351. /// <code>ObjectPrivileges</code> for details about what each of the properties mean when applied to
  352. /// that type.
  353. SWIFT_CLASS_NAMED("Permission")
  354. @interface RealmSwiftPermission : RealmSwiftObject
  355. /// The Role which this Permission applies to. All users within the Role are
  356. /// granted the permissions specified by the fields below any
  357. /// objects/classes/realms which use this Permission.
  358. /// This property cannot be modified once set.
  359. @property (nonatomic, strong) RealmSwiftPermissionRole * _Nullable role;
  360. /// Whether the user can read the object to which this Permission is attached.
  361. @property (nonatomic) BOOL canRead;
  362. /// Whether the user can modify the object to which this Permission is attached.
  363. @property (nonatomic) BOOL canUpdate;
  364. /// Whether the user can delete the object to which this Permission is attached.
  365. /// This field is only applicable to Permissions attached to Objects, and not
  366. /// to Realms or Classes.
  367. @property (nonatomic) BOOL canDelete;
  368. /// Whether the user can add or modify Permissions for the object which this
  369. /// Permission is attached to.
  370. @property (nonatomic) BOOL canSetPermissions;
  371. /// Whether the user can subscribe to queries for this object type.
  372. /// This field is only applicable to Permissions attached to Classes, and not
  373. /// to Realms or Objects.
  374. @property (nonatomic) BOOL canQuery;
  375. /// Whether the user can create new objects of the type this Permission is attached to.
  376. /// This field is only applicable to Permissions attached to Classes, and not
  377. /// to Realms or Objects.
  378. @property (nonatomic) BOOL canCreate;
  379. /// Whether the user can modify the schema of the Realm which this
  380. /// Permission is attached to.
  381. /// This field is only applicable to Permissions attached to Realms, and not
  382. /// to Realms or Objects.
  383. @property (nonatomic) BOOL canModifySchema;
  384. /// :nodoc:
  385. + (NSString * _Nonnull)_realmObjectName SWIFT_WARN_UNUSED_RESULT;
  386. - (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
  387. - (nonnull instancetype)initWithRealm:(RLMRealm * _Nonnull)realm schema:(RLMObjectSchema * _Nonnull)schema OBJC_DESIGNATED_INITIALIZER;
  388. - (nonnull instancetype)initWithValue:(id _Nonnull)value schema:(RLMSchema * _Nonnull)schema OBJC_DESIGNATED_INITIALIZER;
  389. @end
  390. /// A Role within the permissions system.
  391. /// A Role consists of a name for the role and a list of users which are members of the role.
  392. /// Roles are granted privileges on Realms, Classes and Objects, and in turn grant those
  393. /// privileges to all users which are members of the role.
  394. /// A role named “everyone” is automatically created in new Realms, and all new users which
  395. /// connect to the Realm are automatically added to it. Any other roles you wish to use are
  396. /// managed as normal Realm objects.
  397. SWIFT_CLASS_NAMED("PermissionRole")
  398. @interface RealmSwiftPermissionRole : RealmSwiftObject
  399. /// The name of the Role
  400. @property (nonatomic, copy) NSString * _Nonnull name;
  401. /// :nodoc:
  402. + (NSString * _Nonnull)_realmObjectName SWIFT_WARN_UNUSED_RESULT;
  403. /// :nodoc:
  404. + (NSString * _Nonnull)primaryKey SWIFT_WARN_UNUSED_RESULT;
  405. /// :nodoc:
  406. + (NSDictionary<NSString *, NSString *> * _Nonnull)_realmColumnNames SWIFT_WARN_UNUSED_RESULT;
  407. - (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
  408. - (nonnull instancetype)initWithRealm:(RLMRealm * _Nonnull)realm schema:(RLMObjectSchema * _Nonnull)schema OBJC_DESIGNATED_INITIALIZER;
  409. - (nonnull instancetype)initWithValue:(id _Nonnull)value schema:(RLMSchema * _Nonnull)schema OBJC_DESIGNATED_INITIALIZER;
  410. @end
  411. /// A representation of a sync user within the permissions system.
  412. /// PermissionUser objects are created automatically for each sync user which connects to
  413. /// a Realm, and can also be created manually if you wish to grant permissions to a user
  414. /// which has not yet connected to this Realm. When creating a PermissionUser manually, you
  415. /// must also manually add it to the “everyone” Role.
  416. SWIFT_CLASS_NAMED("PermissionUser")
  417. @interface RealmSwiftPermissionUser : RealmSwiftObject
  418. /// The unique Realm Object Server user ID string identifying this user. This will
  419. /// have the same value as <code>SyncUser.identity</code>
  420. @property (nonatomic, copy) NSString * _Nonnull identity;
  421. /// The user’s private role. This will be initialized to a role named for the user’s
  422. /// identity that contains this user as its only member.
  423. @property (nonatomic, strong) RealmSwiftPermissionRole * _Nullable role;
  424. /// :nodoc:
  425. + (NSString * _Nonnull)_realmObjectName SWIFT_WARN_UNUSED_RESULT;
  426. /// :nodoc:
  427. + (NSString * _Nonnull)primaryKey SWIFT_WARN_UNUSED_RESULT;
  428. /// :nodoc:
  429. + (NSDictionary<NSString *, NSString *> * _Nonnull)_realmColumnNames SWIFT_WARN_UNUSED_RESULT;
  430. - (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
  431. - (nonnull instancetype)initWithRealm:(RLMRealm * _Nonnull)realm schema:(RLMObjectSchema * _Nonnull)schema OBJC_DESIGNATED_INITIALIZER;
  432. - (nonnull instancetype)initWithValue:(id _Nonnull)value schema:(RLMSchema * _Nonnull)schema OBJC_DESIGNATED_INITIALIZER;
  433. @end
  434. /// A singleton object which describes Realm-wide permissions.
  435. /// An object of this type is automatically created in the Realm for you, and more objects
  436. /// cannot be created manually.
  437. /// See <code>RealmPrivileges</code> for the meaning of permissions applied to a Realm.
  438. SWIFT_CLASS_NAMED("RealmPermission")
  439. @interface RealmSwiftRealmPermission : RealmSwiftObject
  440. /// :nodoc:
  441. + (NSString * _Nonnull)_realmObjectName SWIFT_WARN_UNUSED_RESULT;
  442. /// :nodoc:
  443. + (NSString * _Nonnull)primaryKey SWIFT_WARN_UNUSED_RESULT;
  444. - (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
  445. - (nonnull instancetype)initWithRealm:(RLMRealm * _Nonnull)realm schema:(RLMObjectSchema * _Nonnull)schema OBJC_DESIGNATED_INITIALIZER;
  446. - (nonnull instancetype)initWithValue:(id _Nonnull)value schema:(RLMSchema * _Nonnull)schema OBJC_DESIGNATED_INITIALIZER;
  447. @end
  448. #if __has_attribute(external_source_symbol)
  449. # pragma clang attribute pop
  450. #endif
  451. #pragma clang diagnostic pop