1 ////////////////////////////////////////////////////////////////////////////
3 // Copyright 2014 Realm Inc.
5 // Licensed under the Apache License, Version 2.0 (the "License");
6 // you may not use this file except in compliance with the License.
7 // You may obtain a copy of the License at
9 // http://www.apache.org/licenses/LICENSE-2.0
11 // Unless required by applicable law or agreed to in writing, software
12 // distributed under the License is distributed on an "AS IS" BASIS,
13 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 // See the License for the specific language governing permissions and
15 // limitations under the License.
17 ////////////////////////////////////////////////////////////////////////////
19 #import <Realm/RLMRealm.h>
21 @class RLMFastEnumerator;
23 NS_ASSUME_NONNULL_BEGIN
25 // Disable syncing files to disk. Cannot be re-enabled. Use only for tests.
26 FOUNDATION_EXTERN void RLMDisableSyncToDisk(void);
28 FOUNDATION_EXTERN NSData * _Nullable RLMRealmValidatedEncryptionKey(NSData *key);
30 // Translate an in-flight exception resulting from an operation on a SharedGroup to
31 // an NSError or NSException (if error is nil)
32 void RLMRealmTranslateException(NSError **error);
34 // RLMRealm private members
35 @interface RLMRealm ()
37 @property (nonatomic, readonly) BOOL dynamic;
38 @property (nonatomic, readwrite) RLMSchema *schema;
40 + (void)resetRealmState;
42 - (void)registerEnumerator:(RLMFastEnumerator *)enumerator;
43 - (void)unregisterEnumerator:(RLMFastEnumerator *)enumerator;
44 - (void)detachAllEnumerators;
46 - (void)sendNotifications:(RLMNotification)notification;
48 - (void)verifyNotificationsAreSupported:(bool)isCollection;