1*af2ec015STomasz Sapeta import ABI49_0_0ExpoModulesCore
2*af2ec015STomasz Sapeta 
3*af2ec015STomasz Sapeta public class TrackingTransparencyModule: Module {
definitionnull4*af2ec015STomasz Sapeta   public func definition() -> ModuleDefinition {
5*af2ec015STomasz Sapeta     Name("ExpoTrackingTransparency")
6*af2ec015STomasz Sapeta 
7*af2ec015STomasz Sapeta     OnCreate {
8*af2ec015STomasz Sapeta       ABI49_0_0EXPermissionsMethodsDelegate.register([TrackingTransparencyPermissionRequester()], withPermissionsManager: self.appContext?.permissions)
9*af2ec015STomasz Sapeta     }
10*af2ec015STomasz Sapeta 
11*af2ec015STomasz Sapeta     AsyncFunction("getPermissionsAsync") { (promise: Promise) in
12*af2ec015STomasz Sapeta       ABI49_0_0EXPermissionsMethodsDelegate.getPermissionWithPermissionsManager(
13*af2ec015STomasz Sapeta         self.appContext?.permissions,
14*af2ec015STomasz Sapeta         withRequester: TrackingTransparencyPermissionRequester.self,
15*af2ec015STomasz Sapeta         resolve: promise.resolver,
16*af2ec015STomasz Sapeta         reject: promise.legacyRejecter
17*af2ec015STomasz Sapeta       )
18*af2ec015STomasz Sapeta     }
19*af2ec015STomasz Sapeta 
20*af2ec015STomasz Sapeta     AsyncFunction("requestPermissionsAsync") { (promise: Promise) in
21*af2ec015STomasz Sapeta       ABI49_0_0EXPermissionsMethodsDelegate.askForPermission(
22*af2ec015STomasz Sapeta         withPermissionsManager: self.appContext?.permissions,
23*af2ec015STomasz Sapeta         withRequester: TrackingTransparencyPermissionRequester.self,
24*af2ec015STomasz Sapeta         resolve: promise.resolver,
25*af2ec015STomasz Sapeta         reject: promise.legacyRejecter
26*af2ec015STomasz Sapeta       )
27*af2ec015STomasz Sapeta     }
28*af2ec015STomasz Sapeta   }
29*af2ec015STomasz Sapeta }
30