Merged libopensrf source directories (libtransport, libstack, and utils) into a singl...
[OpenSRF.git] / include / opensrf / string_array.h
1 #include <stdio.h>
2
3 #include <opensrf/utils.h>
4 #include <opensrf/log.h>
5
6 #define STRING_ARRAY_MAX_SIZE 1024
7
8 #ifndef STRING_ARRAY_H
9 #define STRING_ARRAY_H
10
11 struct string_array_struct {
12                 char** array;   
13                 int size;
14                 int arr_size;
15                 int total_string_size;
16 };
17 typedef struct string_array_struct string_array;
18 typedef struct string_array_struct osrfStringArray;
19
20 osrfStringArray* init_string_array(int size);
21 osrfStringArray* osrfNewStringArray(int size);
22
23 void string_array_add(osrfStringArray*, char* string);
24 void osrfStringArrayAdd(osrfStringArray*, char* string);
25
26 char* string_array_get_string(osrfStringArray* arr, int index);
27 char* osrfStringArrayGetString(osrfStringArray* arr, int index);
28
29 /* returns true if this array contains the given string */
30 int osrfStringArrayContains( osrfStringArray* arr, char* string );
31
32
33 void string_array_destroy(osrfStringArray*);
34 void osrfStringArrayFree(osrfStringArray*);
35
36 /* total size of all included strings */
37 int string_array_get_total_size(osrfStringArray* arr);
38
39 void osrfStringArrayRemove( osrfStringArray* arr, char* str);
40
41 #endif