const char* s3eTapjoyGetErrorString()
{
    IwTrace(TAPJOY_VERBOSE, ("calling s3eTapjoy[2] func: s3eTapjoyGetErrorString"));

    if (!_extLoad())
        return NULL;

    return ext.m_s3eTapjoyGetErrorString();
}
bool ApplifierCrossPromotionPrepareCustomInterstitial()
{
    IwTrace(APPLIFIERCROSSPROMOTION_VERBOSE, ("calling ApplifierCrossPromotion[13] func: ApplifierCrossPromotionPrepareCustomInterstitial"));

    if (!_extLoad())
        return false;

    return g_Ext.m_ApplifierCrossPromotionPrepareCustomInterstitial();
}
s3eResult TapjoySetFeaturedAppDisplayCount(int count)
{
    IwTrace(TAPJOY_VERBOSE, ("calling s3eTapjoy[17] func: TapjoySetFeaturedAppDisplayCount"));

    if (!_extLoad())
        return S3E_RESULT_ERROR;

    return ext.m_TapjoySetFeaturedAppDisplayCount(count);
}
bool ApplifierCrossPromotionShowFeaturedGames()
{
    IwTrace(APPLIFIERCROSSPROMOTION_VERBOSE, ("calling ApplifierCrossPromotion[7] func: ApplifierCrossPromotionShowFeaturedGames"));

    if (!_extLoad())
        return false;

    return g_Ext.m_ApplifierCrossPromotionShowFeaturedGames();
}
bool ApplifierCrossPromotionMoveBanner(int x, int y)
{
    IwTrace(APPLIFIERCROSSPROMOTION_VERBOSE, ("calling ApplifierCrossPromotion[10] func: ApplifierCrossPromotionMoveBanner"));

    if (!_extLoad())
        return false;

    return g_Ext.m_ApplifierCrossPromotionMoveBanner(x, y);
}
s3eResult TapjoyGetDisplayAd(const char* adContentSize, s3eBool shouldRefreshAd, TapjoyGetDisplayAdCallbackFn callbackFn, void* userData)
{
    IwTrace(TAPJOY_VERBOSE, ("calling s3eTapjoy[21] func: TapjoyGetDisplayAd"));

    if (!_extLoad())
        return S3E_RESULT_ERROR;

    return ext.m_TapjoyGetDisplayAd(adContentSize, shouldRefreshAd, callbackFn, userData);
}
bool ApplifierCrossPromotionShowBanner(int positionX, int positionY)
{
    IwTrace(APPLIFIERCROSSPROMOTION_VERBOSE, ("calling ApplifierCrossPromotion[1] func: ApplifierCrossPromotionShowBanner"));

    if (!_extLoad())
        return false;

    return g_Ext.m_ApplifierCrossPromotionShowBanner(positionX, positionY);
}
s3eResult TapjoyShowOffersWithCurrenyID(const char* currencyID, s3eBool enableCurrencySelector)
{
    IwTrace(TAPJOY_VERBOSE, ("calling s3eTapjoy[8] func: TapjoyShowOffersWithCurrenyID"));

    if (!_extLoad())
        return S3E_RESULT_ERROR;

    return ext.m_TapjoyShowOffersWithCurrenyID(currencyID, enableCurrencySelector);
}
s3eResult TapjoyGetTapPoints(TapjoyGetTapPointsCallbackFn callbackFn, void* userData)
{
    IwTrace(TAPJOY_VERBOSE, ("calling s3eTapjoy[9] func: TapjoyGetTapPoints"));

    if (!_extLoad())
        return S3E_RESULT_ERROR;

    return ext.m_TapjoyGetTapPoints(callbackFn, userData);
}
s3eResult TapjoySetUserID(const char* userID)
{
    IwTrace(TAPJOY_VERBOSE, ("calling s3eTapjoy[6] func: TapjoySetUserID"));

    if (!_extLoad())
        return S3E_RESULT_ERROR;

    return ext.m_TapjoySetUserID(userID);
}
s3eResult TapjoyShowOffers()
{
    IwTrace(TAPJOY_VERBOSE, ("calling s3eTapjoy[7] func: TapjoyShowOffers"));

    if (!_extLoad())
        return S3E_RESULT_ERROR;

    return ext.m_TapjoyShowOffers();
}
s3eResult TapjoyActionComplete(const char* actionID)
{
    IwTrace(TAPJOY_VERBOSE, ("calling s3eTapjoy[5] func: TapjoyActionComplete"));

    if (!_extLoad())
        return S3E_RESULT_ERROR;

    return ext.m_TapjoyActionComplete(actionID);
}
s3eResult TapjoyRequestConnect(const char* appID, const char* secretKey)
{
    IwTrace(TAPJOY_VERBOSE, ("calling s3eTapjoy[4] func: TapjoyRequestConnect"));

    if (!_extLoad())
        return S3E_RESULT_ERROR;

    return ext.m_TapjoyRequestConnect(appID, secretKey);
}
s3eTapjoyError s3eTapjoyGetError()
{
    IwTrace(TAPJOY_VERBOSE, ("calling s3eTapjoy[3] func: s3eTapjoyGetError"));

    if (!_extLoad())
        return (s3eTapjoyError)0;

    return ext.m_s3eTapjoyGetError();
}
s3eResult TapjoySetOffersNavBarImage(const char* pPNGFilename)
{
    IwTrace(TAPJOY_VERBOSE, ("calling s3eTapjoy[19] func: TapjoySetOffersNavBarImage"));

    if (!_extLoad())
        return S3E_RESULT_ERROR;

    return ext.m_TapjoySetOffersNavBarImage(pPNGFilename);
}
s3eResult TapjoyAwardTapPoints(int amount, TapjoyAwardTapPointsCallbackFn callbackFn, void* userData)
{
    IwTrace(TAPJOY_VERBOSE, ("calling s3eTapjoy[11] func: TapjoyAwardTapPoints"));

    if (!_extLoad())
        return S3E_RESULT_ERROR;

    return ext.m_TapjoyAwardTapPoints(amount, callbackFn, userData);
}
s3eResult TapjoySetUserDefinedColor(int your_color_in_0xAAARRGGBB_format)
{
    IwTrace(TAPJOY_VERBOSE, ("calling s3eTapjoy[20] func: TapjoySetUserDefinedColor"));

    if (!_extLoad())
        return S3E_RESULT_ERROR;

    return ext.m_TapjoySetUserDefinedColor(your_color_in_0xAAARRGGBB_format);
}
s3eResult TapjoyShowVirtualGoods()
{
    IwTrace(TAPJOY_VERBOSE, ("calling s3eTapjoy[12] func: TapjoyShowVirtualGoods"));

    if (!_extLoad())
        return S3E_RESULT_ERROR;

    return ext.m_TapjoyShowVirtualGoods();
}
s3eResult TapjoySetDisplayAdView(int left, int top, int width, int height)
{
    IwTrace(TAPJOY_VERBOSE, ("calling s3eTapjoy[22] func: TapjoySetDisplayAdView"));

    if (!_extLoad())
        return S3E_RESULT_ERROR;

    return ext.m_TapjoySetDisplayAdView(left, top, width, height);
}
TapjoyVGStoreItem* TapjoyGetAvailableItem(int index)
{
    IwTrace(TAPJOY_VERBOSE, ("calling s3eTapjoy[14] func: TapjoyGetAvailableItem"));

    if (!_extLoad())
        return NULL;

    return ext.m_TapjoyGetAvailableItem(index);
}
bool ApplifierCrossPromotionIsInterstitialReady()
{
    IwTrace(APPLIFIERCROSSPROMOTION_VERBOSE, ("calling ApplifierCrossPromotion[6] func: ApplifierCrossPromotionIsInterstitialReady"));

    if (!_extLoad())
        return false;

    return g_Ext.m_ApplifierCrossPromotionIsInterstitialReady();
}
s3eResult TapjoyGetFeaturedApp(TapjoyGetFeaturedAppCallbackFn callbackFn, void* userData)
{
    IwTrace(TAPJOY_VERBOSE, ("calling s3eTapjoy[15] func: TapjoyGetFeaturedApp"));

    if (!_extLoad())
        return S3E_RESULT_ERROR;

    return ext.m_TapjoyGetFeaturedApp(callbackFn, userData);
}
bool ApplifierCrossPromotionPauseRenderer()
{
    IwTrace(APPLIFIERCROSSPROMOTION_VERBOSE, ("calling ApplifierCrossPromotion[9] func: ApplifierCrossPromotionPauseRenderer"));

    if (!_extLoad())
        return false;

    return g_Ext.m_ApplifierCrossPromotionPauseRenderer();
}
s3eResult TapjoyShowFeaturedAppFullScreenAd()
{
    IwTrace(TAPJOY_VERBOSE, ("calling s3eTapjoy[16] func: TapjoyShowFeaturedAppFullScreenAd"));

    if (!_extLoad())
        return S3E_RESULT_ERROR;

    return ext.m_TapjoyShowFeaturedAppFullScreenAd();
}
char* ApplifierCrossPromotionGetPlatform()
{
    IwTrace(APPLIFIERCROSSPROMOTION_VERBOSE, ("calling ApplifierCrossPromotion[11] func: ApplifierCrossPromotionGetPlatform"));

    if (!_extLoad())
        return false;

    return g_Ext.m_ApplifierCrossPromotionGetPlatform();
}
s3eResult TapjoySetTransitionEffect(int transition)
{
    IwTrace(TAPJOY_VERBOSE, ("calling s3eTapjoy[18] func: TapjoySetTransitionEffect"));

    if (!_extLoad())
        return S3E_RESULT_ERROR;

    return ext.m_TapjoySetTransitionEffect(transition);
}
s3eResult s3eTapjoyUnRegister(s3eTapjoyCallback cbid, s3eCallback fn)
{
    IwTrace(TAPJOY_VERBOSE, ("calling s3eTapjoy[1] func: s3eTapjoyUnRegister"));

    if (!_extLoad())
        return S3E_RESULT_ERROR;

    return ext.m_s3eTapjoyUnRegister(cbid, fn);
}
s3eResult s3ePushWooshScheduleLocalNotification(const char * message, int seconds, const char * userdata)
{
    IwTrace(PUSHWOOSH_VERBOSE, ("calling s3ePushWoosh[13] func: s3ePushWooshScheduleLocalNotification"));

    if (!_extLoad())
        return S3E_RESULT_SUCCESS;

#ifdef LOADER_CALL_LOCK
    s3eDeviceLoaderCallStart(S3E_TRUE, NULL);
#endif

    s3eResult ret = g_Ext.m_s3ePushWooshScheduleLocalNotification(message, seconds, userdata);

#ifdef LOADER_CALL_LOCK
    s3eDeviceLoaderCallDone(S3E_TRUE, NULL);
#endif

    return ret;
}
s3eResult s3ePushWooshSetAndroidNotificationMultiMode(bool enable)
{
    IwTrace(PUSHWOOSH_VERBOSE, ("calling s3ePushWoosh[14] func: s3ePushWooshSetAndroidNotificationMultiMode"));

    if (!_extLoad())
        return S3E_RESULT_SUCCESS;

#ifdef LOADER_CALL_LOCK
    s3eDeviceLoaderCallStart(S3E_TRUE, NULL);
#endif

    s3eResult ret = g_Ext.m_s3ePushWooshSetAndroidNotificationMultiMode(enable);

#ifdef LOADER_CALL_LOCK
    s3eDeviceLoaderCallDone(S3E_TRUE, NULL);
#endif

    return ret;
}
s3eResult s3ePushWooshStopLocationTracking()
{
    IwTrace(PUSHWOOSH_VERBOSE, ("calling s3ePushWoosh[12] func: s3ePushWooshStopLocationTracking"));

    if (!_extLoad())
        return S3E_RESULT_SUCCESS;

#ifdef LOADER_CALL_LOCK
    s3eDeviceLoaderCallStart(S3E_TRUE, NULL);
#endif

    s3eResult ret = g_Ext.m_s3ePushWooshStopLocationTracking();

#ifdef LOADER_CALL_LOCK
    s3eDeviceLoaderCallDone(S3E_TRUE, NULL);
#endif

    return ret;
}