lpw
2020-09-01 a6c01451f65c7fc139844333f37345283d5f4354
commit | author | age
a6c014 1 /*
L 2  * Copyright 2018 Google
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16
17 #import <Foundation/Foundation.h>
18
19 #import "GDTCORStorageProtocol.h"
20 #import "GDTCORTargets.h"
21 #import "GDTCORUploader.h"
22
23 NS_ASSUME_NONNULL_BEGIN
24
25 /** Manages the registration of targets with the transport SDK. */
26 @interface GDTCORRegistrar : NSObject <GDTCORLifecycleProtocol>
27
28 /** Creates and/or returns the singleton instance.
29  *
30  * @return The singleton instance of this class.
31  */
32 + (instancetype)sharedInstance;
33
34 /** Registers a backend implementation with the GoogleDataTransport infrastructure.
35  *
36  * @param backend The backend object to register.
37  * @param target The target this backend object will be responsible for.
38  */
39 - (void)registerUploader:(id<GDTCORUploader>)backend target:(GDTCORTarget)target;
40
41 /** Registers a storage implementation with the GoogleDataTransport infrastructure.
42  *
43  * @param storage The storage instance to be associated with this uploader and target.
44  * @param target The target this backend object will be responsible for.
45  */
46 - (void)registerStorage:(id<GDTCORStorageProtocol>)storage target:(GDTCORTarget)target;
47
48 @end
49
50 NS_ASSUME_NONNULL_END