@@ -23,16 +23,26 @@ static void* g_stub_memory = NULL;
23
23
// clang-format off
24
24
25
25
// Number of Google Analytics functions expected to be loaded from the DLL.
26
- const int FirebaseAnalytics_DynamicFunctionCount = 19 ;
26
+ const int FirebaseAnalytics_DynamicFunctionCount = 22 ;
27
27
28
28
#if defined(_WIN32 )
29
- // Google Analytics Windows DLL SHA256 hash, to be verified on load .
30
- const unsigned char FirebaseAnalytics_WindowsDllHash [] = {
31
- 0xc1 , 0xb9 , 0xff , 0x6e , 0x91 , 0x19 , 0xc3 , 0x0b , 0xbe , 0xb7 , 0x47 , 0x23 , 0x26 , 0xdc , 0xde , 0x41 , 0x8f , 0x45 , 0x68 , 0x2e , 0x6b , 0x82 , 0x2e , 0x25 , 0xee , 0xd9 , 0x22 , 0xfe , 0x6e , 0x3c , 0xc6 , 0x98
29
+ // Array of known Google Analytics Windows DLL SHA256 hashes (hex strings) .
30
+ const char * FirebaseAnalytics_KnownWindowsDllHashes [] = {
31
+ "13ae5f9349b24186f1f3667b52832076e8d14ad9656c3546b1b7fca79ac8144b"
32
32
};
33
33
#endif // defined(_WIN32)
34
34
35
35
// --- Stub Function Definitions ---
36
+ // Stub for GoogleAnalytics_Options_Create
37
+ static GoogleAnalytics_Options * Stub_GoogleAnalytics_Options_Create () {
38
+ return (GoogleAnalytics_Options * )(& g_stub_memory );
39
+ }
40
+
41
+ // Stub for GoogleAnalytics_Options_Destroy
42
+ static void Stub_GoogleAnalytics_Options_Destroy (GoogleAnalytics_Options * options ) {
43
+ // No return value.
44
+ }
45
+
36
46
// Stub for GoogleAnalytics_Item_Create
37
47
static GoogleAnalytics_Item * Stub_GoogleAnalytics_Item_Create () {
38
48
return (GoogleAnalytics_Item * )(& g_stub_memory );
@@ -113,6 +123,11 @@ static void Stub_GoogleAnalytics_EventParameters_Destroy(GoogleAnalytics_EventPa
113
123
// No return value.
114
124
}
115
125
126
+ // Stub for GoogleAnalytics_Initialize
127
+ static bool Stub_GoogleAnalytics_Initialize (const GoogleAnalytics_Options * options ) {
128
+ return 1 ;
129
+ }
130
+
116
131
// Stub for GoogleAnalytics_LogEvent
117
132
static void Stub_GoogleAnalytics_LogEvent (const char * name , GoogleAnalytics_EventParameters * parameters ) {
118
133
// No return value.
@@ -141,6 +156,8 @@ static void Stub_GoogleAnalytics_SetAnalyticsCollectionEnabled(bool enabled) {
141
156
142
157
143
158
// --- Function Pointer Initializations ---
159
+ GoogleAnalytics_Options * (* ptr_GoogleAnalytics_Options_Create )() = & Stub_GoogleAnalytics_Options_Create ;
160
+ void (* ptr_GoogleAnalytics_Options_Destroy )(GoogleAnalytics_Options * options ) = & Stub_GoogleAnalytics_Options_Destroy ;
144
161
GoogleAnalytics_Item * (* ptr_GoogleAnalytics_Item_Create )() = & Stub_GoogleAnalytics_Item_Create ;
145
162
void (* ptr_GoogleAnalytics_Item_InsertInt )(GoogleAnalytics_Item * item , const char * key , int64_t value ) = & Stub_GoogleAnalytics_Item_InsertInt ;
146
163
void (* ptr_GoogleAnalytics_Item_InsertDouble )(GoogleAnalytics_Item * item , const char * key , double value ) = & Stub_GoogleAnalytics_Item_InsertDouble ;
@@ -155,6 +172,7 @@ void (*ptr_GoogleAnalytics_EventParameters_InsertDouble)(GoogleAnalytics_EventPa
155
172
void (* ptr_GoogleAnalytics_EventParameters_InsertString )(GoogleAnalytics_EventParameters * event_parameter_map , const char * key , const char * value ) = & Stub_GoogleAnalytics_EventParameters_InsertString ;
156
173
void (* ptr_GoogleAnalytics_EventParameters_InsertItemVector )(GoogleAnalytics_EventParameters * event_parameter_map , const char * key , GoogleAnalytics_ItemVector * value ) = & Stub_GoogleAnalytics_EventParameters_InsertItemVector ;
157
174
void (* ptr_GoogleAnalytics_EventParameters_Destroy )(GoogleAnalytics_EventParameters * event_parameter_map ) = & Stub_GoogleAnalytics_EventParameters_Destroy ;
175
+ bool (* ptr_GoogleAnalytics_Initialize )(const GoogleAnalytics_Options * options ) = & Stub_GoogleAnalytics_Initialize ;
158
176
void (* ptr_GoogleAnalytics_LogEvent )(const char * name , GoogleAnalytics_EventParameters * parameters ) = & Stub_GoogleAnalytics_LogEvent ;
159
177
void (* ptr_GoogleAnalytics_SetUserProperty )(const char * name , const char * value ) = & Stub_GoogleAnalytics_SetUserProperty ;
160
178
void (* ptr_GoogleAnalytics_SetUserId )(const char * user_id ) = & Stub_GoogleAnalytics_SetUserId ;
@@ -170,6 +188,16 @@ int FirebaseAnalytics_LoadDynamicFunctions(HMODULE dll_handle) {
170
188
return count ;
171
189
}
172
190
191
+ FARPROC proc_GoogleAnalytics_Options_Create = GetProcAddress (dll_handle , "GoogleAnalytics_Options_Create" );
192
+ if (proc_GoogleAnalytics_Options_Create ) {
193
+ ptr_GoogleAnalytics_Options_Create = (GoogleAnalytics_Options * (* )())proc_GoogleAnalytics_Options_Create ;
194
+ count ++ ;
195
+ }
196
+ FARPROC proc_GoogleAnalytics_Options_Destroy = GetProcAddress (dll_handle , "GoogleAnalytics_Options_Destroy" );
197
+ if (proc_GoogleAnalytics_Options_Destroy ) {
198
+ ptr_GoogleAnalytics_Options_Destroy = (void (* )(GoogleAnalytics_Options * options ))proc_GoogleAnalytics_Options_Destroy ;
199
+ count ++ ;
200
+ }
173
201
FARPROC proc_GoogleAnalytics_Item_Create = GetProcAddress (dll_handle , "GoogleAnalytics_Item_Create" );
174
202
if (proc_GoogleAnalytics_Item_Create ) {
175
203
ptr_GoogleAnalytics_Item_Create = (GoogleAnalytics_Item * (* )())proc_GoogleAnalytics_Item_Create ;
@@ -240,6 +268,11 @@ int FirebaseAnalytics_LoadDynamicFunctions(HMODULE dll_handle) {
240
268
ptr_GoogleAnalytics_EventParameters_Destroy = (void (* )(GoogleAnalytics_EventParameters * event_parameter_map ))proc_GoogleAnalytics_EventParameters_Destroy ;
241
269
count ++ ;
242
270
}
271
+ FARPROC proc_GoogleAnalytics_Initialize = GetProcAddress (dll_handle , "GoogleAnalytics_Initialize" );
272
+ if (proc_GoogleAnalytics_Initialize ) {
273
+ ptr_GoogleAnalytics_Initialize = (bool (* )(const GoogleAnalytics_Options * options ))proc_GoogleAnalytics_Initialize ;
274
+ count ++ ;
275
+ }
243
276
FARPROC proc_GoogleAnalytics_LogEvent = GetProcAddress (dll_handle , "GoogleAnalytics_LogEvent" );
244
277
if (proc_GoogleAnalytics_LogEvent ) {
245
278
ptr_GoogleAnalytics_LogEvent = (void (* )(const char * name , GoogleAnalytics_EventParameters * parameters ))proc_GoogleAnalytics_LogEvent ;
@@ -270,6 +303,8 @@ int FirebaseAnalytics_LoadDynamicFunctions(HMODULE dll_handle) {
270
303
}
271
304
272
305
void FirebaseAnalytics_UnloadDynamicFunctions (void ) {
306
+ ptr_GoogleAnalytics_Options_Create = & Stub_GoogleAnalytics_Options_Create ;
307
+ ptr_GoogleAnalytics_Options_Destroy = & Stub_GoogleAnalytics_Options_Destroy ;
273
308
ptr_GoogleAnalytics_Item_Create = & Stub_GoogleAnalytics_Item_Create ;
274
309
ptr_GoogleAnalytics_Item_InsertInt = & Stub_GoogleAnalytics_Item_InsertInt ;
275
310
ptr_GoogleAnalytics_Item_InsertDouble = & Stub_GoogleAnalytics_Item_InsertDouble ;
@@ -284,6 +319,7 @@ void FirebaseAnalytics_UnloadDynamicFunctions(void) {
284
319
ptr_GoogleAnalytics_EventParameters_InsertString = & Stub_GoogleAnalytics_EventParameters_InsertString ;
285
320
ptr_GoogleAnalytics_EventParameters_InsertItemVector = & Stub_GoogleAnalytics_EventParameters_InsertItemVector ;
286
321
ptr_GoogleAnalytics_EventParameters_Destroy = & Stub_GoogleAnalytics_EventParameters_Destroy ;
322
+ ptr_GoogleAnalytics_Initialize = & Stub_GoogleAnalytics_Initialize ;
287
323
ptr_GoogleAnalytics_LogEvent = & Stub_GoogleAnalytics_LogEvent ;
288
324
ptr_GoogleAnalytics_SetUserProperty = & Stub_GoogleAnalytics_SetUserProperty ;
289
325
ptr_GoogleAnalytics_SetUserId = & Stub_GoogleAnalytics_SetUserId ;
0 commit comments