Slice PM Counters VES Standard defined
[o-du/l2.git] / src / o1 / ves / PerfMeasurementEvent.cpp
1 /*******************************************************************************
2 ################################################################################
3 #   Copyright (c) [2020-2021] [HCL Technologies Ltd.]                          #
4 #                                                                              #
5 #   Licensed under the Apache License, Version 2.0 (the "License");            #
6 #   you may not use this file except in compliance with the License.           #
7 #   You may obtain a copy of the License at                                    #
8 #                                                                              #
9 #       http://www.apache.org/licenses/LICENSE-2.0                             #
10 #                                                                              #
11 #   Unless required by applicable law or agreed to in writing, software        #
12 #   distributed under the License is distributed on an "AS IS" BASIS,          #
13 #   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.   #
14 #   See the License for the specific language governing permissions and        #
15 #   limitations under the License.                                             #
16 ################################################################################
17 *******************************************************************************/
18
19 /* This file contains base class for Performance Measurement VES Event*/
20
21
22 #include "PerfMeasurementEvent.hpp"
23
24 /* Constructor */
25 PerfMeasurementEvent::PerfMeasurementEvent(VesEventType eventType)
26                 :VesEvent(eventType)
27 {
28
29 }
30 /* Default Destructor*/
31 PerfMeasurementEvent::~PerfMeasurementEvent()
32 {
33     
34 }
35
36 /* overriding */
37 /*******************************************************************
38  *
39  * @brief Get SMO Ves Collector configuration 
40  *
41  * @details
42  *
43  *    Function : getConfig
44  *
45  *    Functionality:
46  *      - Gets Ves Collector configuration
47  *
48  *
49  * @params[in] void
50  * @return void
51  ******************************************************************/
52 void PerfMeasurementEvent::getConfig()
53 {
54     #ifdef StdDef
55     mVesServerIp = ConfigLoader::instance().getOamConfigFile().getVesServerIp();
56     mVesServerPort = ConfigLoader::instance().getOamConfigFile().getVesServerPort();
57     mVesServerUsername = ConfigLoader::instance().getOamConfigFile().getVesServerUsername();
58     mVesServerPassword = ConfigLoader::instance().getOamConfigFile().getVesServerPassword();
59     #else
60     mVesServerIp = ConfigLoader::instance().getSmoConfigFile().getVesServerIp();
61     mVesServerPort = ConfigLoader::instance().getSmoConfigFile().getVesServerPort();
62     mVesServerUsername = ConfigLoader::instance().getSmoConfigFile().getVesServerUsername();
63     mVesServerPassword = ConfigLoader::instance().getSmoConfigFile().getVesServerPassword();
64     #endif
65 }
66
67 /*******************************************************************
68  *
69  * @brief Create the URL for sending VES messages
70  *
71  * @details
72  *
73  *    Function : createUrl (overridden)
74  *
75  *    Functionality:
76  *      - Creates the VES URL
77  *
78  *
79  * @params[in] void
80  * @return void
81  ******************************************************************/
82 void PerfMeasurementEvent::createUrl()
83 {
84    #ifdef StdDef
85    mVesUrl = "https://" + mVesServerIp + ":" + mVesServerPort + "/eventListener/v7";
86    #else
87    mVesUrl = "https://" + mVesServerIp + ":" + mVesServerPort + "/eventListener/v7/events";
88    #endif
89    O1_LOG("\nURL=%s", mVesUrl.c_str());
90 }
91
92 /**********************************************************************
93          End of file
94 **********************************************************************/