{-# LINE 1 "src/Language/Javascript/JSaddle/CLib/Internal.hsc" #-}
{-# LANGUAGE ForeignFunctionInterface #-}
module Language.Javascript.JSaddle.CLib.Internal where

import Foreign
import Foreign.C



data NativeCallbacks = NativeCallbacks
  { _nativeCallbacks_jsaddleStart :: !(FunPtr (IO ())) -- void (jsaddleStart *)()
  , _nativeCallbacks_jsaddleResult :: !(FunPtr (CString -> IO ())) -- void (jsaddleResult *)(char *)
  , _nativeCallbacks_jsaddleSyncResult :: !(FunPtr (CString -> IO CString)) -- char * (jsaddleSyncResult *)(char *)
  , _nativeCallbacks_jsaddleJsData :: !CString -- char * jsaddleJsData
  , _nativeCallbacks_jsaddleHtmlData :: !CString -- char * jsaddleHtmlData
  }

instance Storable NativeCallbacks where
  sizeOf _ = (40)
{-# LINE 19 "src/Language/Javascript/JSaddle/CLib/Internal.hsc" #-}
  alignment _ = 8
{-# LINE 20 "src/Language/Javascript/JSaddle/CLib/Internal.hsc" #-}
  poke p nc = do
    (\hsc_ptr -> pokeByteOff hsc_ptr 0) p $ _nativeCallbacks_jsaddleStart nc
{-# LINE 22 "src/Language/Javascript/JSaddle/CLib/Internal.hsc" #-}
    (\hsc_ptr -> pokeByteOff hsc_ptr 8) p $ _nativeCallbacks_jsaddleResult nc
{-# LINE 23 "src/Language/Javascript/JSaddle/CLib/Internal.hsc" #-}
    (\hsc_ptr -> pokeByteOff hsc_ptr 16) p $ _nativeCallbacks_jsaddleSyncResult nc
{-# LINE 24 "src/Language/Javascript/JSaddle/CLib/Internal.hsc" #-}
    (\hsc_ptr -> pokeByteOff hsc_ptr 24) p $ _nativeCallbacks_jsaddleJsData nc
{-# LINE 25 "src/Language/Javascript/JSaddle/CLib/Internal.hsc" #-}
    (\hsc_ptr -> pokeByteOff hsc_ptr 32) p $ _nativeCallbacks_jsaddleHtmlData nc
{-# LINE 26 "src/Language/Javascript/JSaddle/CLib/Internal.hsc" #-}
  peek p = NativeCallbacks
    <$> (\hsc_ptr -> peekByteOff hsc_ptr 0) p
{-# LINE 28 "src/Language/Javascript/JSaddle/CLib/Internal.hsc" #-}
    <*> (\hsc_ptr -> peekByteOff hsc_ptr 8) p
{-# LINE 29 "src/Language/Javascript/JSaddle/CLib/Internal.hsc" #-}
    <*> (\hsc_ptr -> peekByteOff hsc_ptr 16) p
{-# LINE 30 "src/Language/Javascript/JSaddle/CLib/Internal.hsc" #-}
    <*> (\hsc_ptr -> peekByteOff hsc_ptr 24) p
{-# LINE 31 "src/Language/Javascript/JSaddle/CLib/Internal.hsc" #-}
    <*> (\hsc_ptr -> peekByteOff hsc_ptr 32) p
{-# LINE 32 "src/Language/Javascript/JSaddle/CLib/Internal.hsc" #-}

data AppCallbacks = AppCallbacks
  { _appCallbacks_mainActivity_onCreate :: !(FunPtr (IO ()))
  , _appCallbacks_mainActivity_onStart :: !(FunPtr (IO ()))
  , _appCallbacks_mainActivity_onResume :: !(FunPtr (IO ()))
  , _appCallbacks_mainActivity_onPause :: !(FunPtr (IO ()))
  , _appCallbacks_mainActivity_onStop :: !(FunPtr (IO ()))
  , _appCallbacks_mainActivity_onDestroy :: !(FunPtr (IO ()))
  , _appCallbacks_mainActivity_onRestart :: !(FunPtr (IO ()))
  , _appCallbacks_mainActivity_onNewIntent :: !(FunPtr (CString -> CString -> IO ()))
  , _appCallbacks_firebaseInstanceIdService_sendRegistrationToServer :: !(FunPtr (CString -> IO ()))
  }

instance Storable AppCallbacks where
  sizeOf _ = (72)
{-# LINE 47 "src/Language/Javascript/JSaddle/CLib/Internal.hsc" #-}
  alignment _ = 8
{-# LINE 48 "src/Language/Javascript/JSaddle/CLib/Internal.hsc" #-}
  poke p nc = do
    (\hsc_ptr -> pokeByteOff hsc_ptr 0) p $ _appCallbacks_mainActivity_onCreate nc
{-# LINE 50 "src/Language/Javascript/JSaddle/CLib/Internal.hsc" #-}
    (\hsc_ptr -> pokeByteOff hsc_ptr 8) p $ _appCallbacks_mainActivity_onStart nc
{-# LINE 51 "src/Language/Javascript/JSaddle/CLib/Internal.hsc" #-}
    (\hsc_ptr -> pokeByteOff hsc_ptr 16) p $ _appCallbacks_mainActivity_onResume nc
{-# LINE 52 "src/Language/Javascript/JSaddle/CLib/Internal.hsc" #-}
    (\hsc_ptr -> pokeByteOff hsc_ptr 24) p $ _appCallbacks_mainActivity_onPause nc
{-# LINE 53 "src/Language/Javascript/JSaddle/CLib/Internal.hsc" #-}
    (\hsc_ptr -> pokeByteOff hsc_ptr 32) p $ _appCallbacks_mainActivity_onStop nc
{-# LINE 54 "src/Language/Javascript/JSaddle/CLib/Internal.hsc" #-}
    (\hsc_ptr -> pokeByteOff hsc_ptr 40) p $ _appCallbacks_mainActivity_onDestroy nc
{-# LINE 55 "src/Language/Javascript/JSaddle/CLib/Internal.hsc" #-}
    (\hsc_ptr -> pokeByteOff hsc_ptr 48) p $ _appCallbacks_mainActivity_onRestart nc
{-# LINE 56 "src/Language/Javascript/JSaddle/CLib/Internal.hsc" #-}
    (\hsc_ptr -> pokeByteOff hsc_ptr 56) p $ _appCallbacks_mainActivity_onNewIntent nc
{-# LINE 57 "src/Language/Javascript/JSaddle/CLib/Internal.hsc" #-}
    (\hsc_ptr -> pokeByteOff hsc_ptr 64) p $ _appCallbacks_firebaseInstanceIdService_sendRegistrationToServer nc
{-# LINE 58 "src/Language/Javascript/JSaddle/CLib/Internal.hsc" #-}
  peek p = AppCallbacks
    <$> (\hsc_ptr -> peekByteOff hsc_ptr 0) p
{-# LINE 60 "src/Language/Javascript/JSaddle/CLib/Internal.hsc" #-}
    <*> (\hsc_ptr -> peekByteOff hsc_ptr 8) p
{-# LINE 61 "src/Language/Javascript/JSaddle/CLib/Internal.hsc" #-}
    <*> (\hsc_ptr -> peekByteOff hsc_ptr 16) p
{-# LINE 62 "src/Language/Javascript/JSaddle/CLib/Internal.hsc" #-}
    <*> (\hsc_ptr -> peekByteOff hsc_ptr 24) p
{-# LINE 63 "src/Language/Javascript/JSaddle/CLib/Internal.hsc" #-}
    <*> (\hsc_ptr -> peekByteOff hsc_ptr 32) p
{-# LINE 64 "src/Language/Javascript/JSaddle/CLib/Internal.hsc" #-}
    <*> (\hsc_ptr -> peekByteOff hsc_ptr 40) p
{-# LINE 65 "src/Language/Javascript/JSaddle/CLib/Internal.hsc" #-}
    <*> (\hsc_ptr -> peekByteOff hsc_ptr 48) p
{-# LINE 66 "src/Language/Javascript/JSaddle/CLib/Internal.hsc" #-}
    <*> (\hsc_ptr -> peekByteOff hsc_ptr 56) p
{-# LINE 67 "src/Language/Javascript/JSaddle/CLib/Internal.hsc" #-}
    <*> (\hsc_ptr -> peekByteOff hsc_ptr 64) p
{-# LINE 68 "src/Language/Javascript/JSaddle/CLib/Internal.hsc" #-}