@@ -188,91 +188,105 @@ void (*ptr_GoogleAnalytics_SetAnalyticsCollectionEnabled)(bool enabled) =
188
188
189
189
// --- Dynamic Loader Function for Windows ---
190
190
#if defined(_WIN32 )
191
- void FirebaseAnalytics_LoadAnalyticsFunctions (HMODULE dll_handle ) {
191
+ int FirebaseAnalytics_LoadAnalyticsFunctions (HMODULE dll_handle ) {
192
+ int count = 0 ;
193
+
192
194
if (!dll_handle ) {
193
- return ;
195
+ return count ;
194
196
}
195
197
196
198
FARPROC proc_GoogleAnalytics_Item_Create =
197
199
GetProcAddress (dll_handle , "GoogleAnalytics_Item_Create" );
198
200
if (proc_GoogleAnalytics_Item_Create ) {
199
201
ptr_GoogleAnalytics_Item_Create =
200
202
(GoogleAnalytics_Item * (* )()) proc_GoogleAnalytics_Item_Create ;
203
+ count ++ ;
201
204
}
202
205
FARPROC proc_GoogleAnalytics_Item_InsertInt =
203
206
GetProcAddress (dll_handle , "GoogleAnalytics_Item_InsertInt" );
204
207
if (proc_GoogleAnalytics_Item_InsertInt ) {
205
208
ptr_GoogleAnalytics_Item_InsertInt =
206
209
(void (* )(GoogleAnalytics_Item * item , const char * key ,
207
210
int64_t value ))proc_GoogleAnalytics_Item_InsertInt ;
211
+ count ++ ;
208
212
}
209
213
FARPROC proc_GoogleAnalytics_Item_InsertDouble =
210
214
GetProcAddress (dll_handle , "GoogleAnalytics_Item_InsertDouble" );
211
215
if (proc_GoogleAnalytics_Item_InsertDouble ) {
212
216
ptr_GoogleAnalytics_Item_InsertDouble =
213
217
(void (* )(GoogleAnalytics_Item * item , const char * key ,
214
218
double value ))proc_GoogleAnalytics_Item_InsertDouble ;
219
+ count ++ ;
215
220
}
216
221
FARPROC proc_GoogleAnalytics_Item_InsertString =
217
222
GetProcAddress (dll_handle , "GoogleAnalytics_Item_InsertString" );
218
223
if (proc_GoogleAnalytics_Item_InsertString ) {
219
224
ptr_GoogleAnalytics_Item_InsertString =
220
225
(void (* )(GoogleAnalytics_Item * item , const char * key ,
221
226
const char * value ))proc_GoogleAnalytics_Item_InsertString ;
227
+ count ++ ;
222
228
}
223
229
FARPROC proc_GoogleAnalytics_Item_Destroy =
224
230
GetProcAddress (dll_handle , "GoogleAnalytics_Item_Destroy" );
225
231
if (proc_GoogleAnalytics_Item_Destroy ) {
226
232
ptr_GoogleAnalytics_Item_Destroy =
227
233
(void (* )(GoogleAnalytics_Item * item ))proc_GoogleAnalytics_Item_Destroy ;
234
+ count ++ ;
228
235
}
229
236
FARPROC proc_GoogleAnalytics_ItemVector_Create =
230
237
GetProcAddress (dll_handle , "GoogleAnalytics_ItemVector_Create" );
231
238
if (proc_GoogleAnalytics_ItemVector_Create ) {
232
239
ptr_GoogleAnalytics_ItemVector_Create = (GoogleAnalytics_ItemVector * (* )())
233
240
proc_GoogleAnalytics_ItemVector_Create ;
241
+ count ++ ;
234
242
}
235
243
FARPROC proc_GoogleAnalytics_ItemVector_InsertItem =
236
244
GetProcAddress (dll_handle , "GoogleAnalytics_ItemVector_InsertItem" );
237
245
if (proc_GoogleAnalytics_ItemVector_InsertItem ) {
238
246
ptr_GoogleAnalytics_ItemVector_InsertItem = (void (* )(
239
247
GoogleAnalytics_ItemVector * item_vector ,
240
248
GoogleAnalytics_Item * item ))proc_GoogleAnalytics_ItemVector_InsertItem ;
249
+ count ++ ;
241
250
}
242
251
FARPROC proc_GoogleAnalytics_ItemVector_Destroy =
243
252
GetProcAddress (dll_handle , "GoogleAnalytics_ItemVector_Destroy" );
244
253
if (proc_GoogleAnalytics_ItemVector_Destroy ) {
245
254
ptr_GoogleAnalytics_ItemVector_Destroy =
246
255
(void (* )(GoogleAnalytics_ItemVector * item_vector ))
247
256
proc_GoogleAnalytics_ItemVector_Destroy ;
257
+ count ++ ;
248
258
}
249
259
FARPROC proc_GoogleAnalytics_EventParameters_Create =
250
260
GetProcAddress (dll_handle , "GoogleAnalytics_EventParameters_Create" );
251
261
if (proc_GoogleAnalytics_EventParameters_Create ) {
252
262
ptr_GoogleAnalytics_EventParameters_Create =
253
263
(GoogleAnalytics_EventParameters * (* )())
254
264
proc_GoogleAnalytics_EventParameters_Create ;
265
+ count ++ ;
255
266
}
256
267
FARPROC proc_GoogleAnalytics_EventParameters_InsertInt =
257
268
GetProcAddress (dll_handle , "GoogleAnalytics_EventParameters_InsertInt" );
258
269
if (proc_GoogleAnalytics_EventParameters_InsertInt ) {
259
270
ptr_GoogleAnalytics_EventParameters_InsertInt = (void (* )(
260
271
GoogleAnalytics_EventParameters * event_parameter_map , const char * key ,
261
272
int64_t value ))proc_GoogleAnalytics_EventParameters_InsertInt ;
273
+ count ++ ;
262
274
}
263
275
FARPROC proc_GoogleAnalytics_EventParameters_InsertDouble = GetProcAddress (
264
276
dll_handle , "GoogleAnalytics_EventParameters_InsertDouble" );
265
277
if (proc_GoogleAnalytics_EventParameters_InsertDouble ) {
266
278
ptr_GoogleAnalytics_EventParameters_InsertDouble = (void (* )(
267
279
GoogleAnalytics_EventParameters * event_parameter_map , const char * key ,
268
280
double value ))proc_GoogleAnalytics_EventParameters_InsertDouble ;
281
+ count ++ ;
269
282
}
270
283
FARPROC proc_GoogleAnalytics_EventParameters_InsertString = GetProcAddress (
271
284
dll_handle , "GoogleAnalytics_EventParameters_InsertString" );
272
285
if (proc_GoogleAnalytics_EventParameters_InsertString ) {
273
286
ptr_GoogleAnalytics_EventParameters_InsertString = (void (* )(
274
287
GoogleAnalytics_EventParameters * event_parameter_map , const char * key ,
275
288
const char * value ))proc_GoogleAnalytics_EventParameters_InsertString ;
289
+ count ++ ;
276
290
}
277
291
FARPROC proc_GoogleAnalytics_EventParameters_InsertItemVector =
278
292
GetProcAddress (dll_handle ,
@@ -282,45 +296,90 @@ void FirebaseAnalytics_LoadAnalyticsFunctions(HMODULE dll_handle) {
282
296
(void (* )(GoogleAnalytics_EventParameters * event_parameter_map ,
283
297
const char * key , GoogleAnalytics_ItemVector * value ))
284
298
proc_GoogleAnalytics_EventParameters_InsertItemVector ;
299
+ count ++ ;
285
300
}
286
301
FARPROC proc_GoogleAnalytics_EventParameters_Destroy =
287
302
GetProcAddress (dll_handle , "GoogleAnalytics_EventParameters_Destroy" );
288
303
if (proc_GoogleAnalytics_EventParameters_Destroy ) {
289
304
ptr_GoogleAnalytics_EventParameters_Destroy =
290
305
(void (* )(GoogleAnalytics_EventParameters * event_parameter_map ))
291
306
proc_GoogleAnalytics_EventParameters_Destroy ;
307
+ count ++ ;
292
308
}
293
309
FARPROC proc_GoogleAnalytics_LogEvent =
294
310
GetProcAddress (dll_handle , "GoogleAnalytics_LogEvent" );
295
311
if (proc_GoogleAnalytics_LogEvent ) {
296
312
ptr_GoogleAnalytics_LogEvent = (void (* )(
297
313
const char * name , GoogleAnalytics_EventParameters * parameters ))
298
314
proc_GoogleAnalytics_LogEvent ;
315
+ count ++ ;
299
316
}
300
317
FARPROC proc_GoogleAnalytics_SetUserProperty =
301
318
GetProcAddress (dll_handle , "GoogleAnalytics_SetUserProperty" );
302
319
if (proc_GoogleAnalytics_SetUserProperty ) {
303
320
ptr_GoogleAnalytics_SetUserProperty =
304
321
(void (* )(const char * name ,
305
322
const char * value ))proc_GoogleAnalytics_SetUserProperty ;
323
+ count ++ ;
306
324
}
307
325
FARPROC proc_GoogleAnalytics_SetUserId =
308
326
GetProcAddress (dll_handle , "GoogleAnalytics_SetUserId" );
309
327
if (proc_GoogleAnalytics_SetUserId ) {
310
328
ptr_GoogleAnalytics_SetUserId =
311
329
(void (* )(const char * user_id ))proc_GoogleAnalytics_SetUserId ;
330
+ count ++ ;
312
331
}
313
332
FARPROC proc_GoogleAnalytics_ResetAnalyticsData =
314
333
GetProcAddress (dll_handle , "GoogleAnalytics_ResetAnalyticsData" );
315
334
if (proc_GoogleAnalytics_ResetAnalyticsData ) {
316
335
ptr_GoogleAnalytics_ResetAnalyticsData =
317
336
(void (* )())proc_GoogleAnalytics_ResetAnalyticsData ;
337
+ count ++ ;
318
338
}
319
339
FARPROC proc_GoogleAnalytics_SetAnalyticsCollectionEnabled = GetProcAddress (
320
340
dll_handle , "GoogleAnalytics_SetAnalyticsCollectionEnabled" );
321
341
if (proc_GoogleAnalytics_SetAnalyticsCollectionEnabled ) {
322
342
ptr_GoogleAnalytics_SetAnalyticsCollectionEnabled = (void (* )(
323
343
bool enabled ))proc_GoogleAnalytics_SetAnalyticsCollectionEnabled ;
344
+ count ++ ;
324
345
}
346
+
347
+ return count ;
325
348
}
349
+
350
+ void FirebaseAnalytics_UnloadAnalyticsFunctions (void ) {
351
+ ptr_GoogleAnalytics_Item_Create = & Stub_GoogleAnalytics_Item_Create ;
352
+ ptr_GoogleAnalytics_Item_InsertInt = & Stub_GoogleAnalytics_Item_InsertInt ;
353
+ ptr_GoogleAnalytics_Item_InsertDouble =
354
+ & Stub_GoogleAnalytics_Item_InsertDouble ;
355
+ ptr_GoogleAnalytics_Item_InsertString =
356
+ & Stub_GoogleAnalytics_Item_InsertString ;
357
+ ptr_GoogleAnalytics_Item_Destroy = & Stub_GoogleAnalytics_Item_Destroy ;
358
+ ptr_GoogleAnalytics_ItemVector_Create =
359
+ & Stub_GoogleAnalytics_ItemVector_Create ;
360
+ ptr_GoogleAnalytics_ItemVector_InsertItem =
361
+ & Stub_GoogleAnalytics_ItemVector_InsertItem ;
362
+ ptr_GoogleAnalytics_ItemVector_Destroy =
363
+ & Stub_GoogleAnalytics_ItemVector_Destroy ;
364
+ ptr_GoogleAnalytics_EventParameters_Create =
365
+ & Stub_GoogleAnalytics_EventParameters_Create ;
366
+ ptr_GoogleAnalytics_EventParameters_InsertInt =
367
+ & Stub_GoogleAnalytics_EventParameters_InsertInt ;
368
+ ptr_GoogleAnalytics_EventParameters_InsertDouble =
369
+ & Stub_GoogleAnalytics_EventParameters_InsertDouble ;
370
+ ptr_GoogleAnalytics_EventParameters_InsertString =
371
+ & Stub_GoogleAnalytics_EventParameters_InsertString ;
372
+ ptr_GoogleAnalytics_EventParameters_InsertItemVector =
373
+ & Stub_GoogleAnalytics_EventParameters_InsertItemVector ;
374
+ ptr_GoogleAnalytics_EventParameters_Destroy =
375
+ & Stub_GoogleAnalytics_EventParameters_Destroy ;
376
+ ptr_GoogleAnalytics_LogEvent = & Stub_GoogleAnalytics_LogEvent ;
377
+ ptr_GoogleAnalytics_SetUserProperty = & Stub_GoogleAnalytics_SetUserProperty ;
378
+ ptr_GoogleAnalytics_SetUserId = & Stub_GoogleAnalytics_SetUserId ;
379
+ ptr_GoogleAnalytics_ResetAnalyticsData =
380
+ & Stub_GoogleAnalytics_ResetAnalyticsData ;
381
+ ptr_GoogleAnalytics_SetAnalyticsCollectionEnabled =
382
+ & Stub_GoogleAnalytics_SetAnalyticsCollectionEnabled ;
383
+ }
384
+
326
385
#endif // defined(_WIN32)
0 commit comments