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