-
Notifications
You must be signed in to change notification settings - Fork 21
Expand file tree
/
Copy pathprofilexconf.h
More file actions
89 lines (79 loc) · 2.56 KB
/
profilexconf.h
File metadata and controls
89 lines (79 loc) · 2.56 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
/*
* If not stated otherwise in this file or this component's LICENSE file the
* following copyright and licenses apply:
*
* Copyright 2019 RDK Management
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#ifndef _PROFILEXCONF_H_
#define _PROFILEXCONF_H_
#include <stdbool.h>
#include <pthread.h>
#include <cjson/cJSON.h>
#include "telemetry2_0.h"
#include "reportprofiles.h"
#include "t2common.h"
#include "t2eventreceiver.h"
#include "vector.h"
#include "reportgen.h"
#include "t2collection.h"
#include "legacyutils.h"
typedef enum
{
MTYPE_XCONF_NONE,
MTYPE_XCONF_COUNTER,
MTYPE_XCONF_ABSOLUTE,
MTYPE_XCONF_ACCUMULATE
} MarkerTypeXConf;
typedef struct _JSONEncodingXConf
{
JSONFormat reportFormat;
TimeStampFormat tsFormat;
} JSONEncodingXConf;
typedef struct _ProfileXConf
{
bool isUpdated;
bool reportInProgress;
bool bClearSeekMap;
bool checkPreviousSeek; // To support Previous_Logs report post reboot
bool saveSeekConfig; // To save the Seek config to persistant storage
char* name;
char* protocol;
char* encodingType;
unsigned int reportingInterval;
unsigned int timeRef;
unsigned int paramNumOfEntries;
Vector *paramList;
T2HTTP *t2HTTPDest;
Vector *eMarkerList;
Vector *gMarkerList;
Vector *topMarkerList;
Vector *cachedReportList;
cJSON *jsonReportObj;
pthread_t reportThread;
GrepSeekProfile *grepSeekProfile; // To store GrepConfig
} ProfileXConf;
T2ERROR ProfileXConf_init(bool checkPreviousSeek);
T2ERROR ProfileXConf_uninit();
T2ERROR ProfileXConf_set(ProfileXConf *profile);
T2ERROR ProfileXConf_delete(ProfileXConf *profile);
bool ProfileXConf_isSet();
bool ProfileXConf_isNameEqual(char* profileName);
void ProfileXConf_updateMarkerComponentMap();
void ProfileXConf_notifyTimeout(bool isClearSeekMap, bool isOnDemand);
T2ERROR ProfileXConf_storeMarkerEvent(T2Event *eventInfo);
char* ProfileXconf_getName();
T2ERROR ReportProfiles_setProfileXConf(ProfileXConf *profile);
T2ERROR ReportProfiles_deleteProfileXConf(ProfileXConf *profile);
#endif /* _PROFILE_H_ */