• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2023 Shenzhen Kaihong Digital Industry Development Co., Ltd.
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at
6  *
7  *     http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  */
15 
16 #include <iostream>
17 #include <unistd.h>
18 #include "common/sharing_log.h"
19 #include "config.h"
20 
21 using namespace OHOS::Sharing;
22 
main()23 int main()
24 {
25     Config::GetInstance().Init();
26     sleep(1);
27     // SharingConfigureSetConfigTest_001
28     SHARING_LOGD("this is sharing_configure_demo!");
29     while (1) {
30         std::string inputCmd;
31         getline(std::cin, inputCmd);
32         if (inputCmd == "0") {
33             SharingValue::Ptr values = nullptr;
34             auto ret = Config::GetInstance().GetConfig("mediachannel", "rtmpport", "maxrecvport", values);
35             values->Print();
36             SharingValue::Ptr valueS = std::make_shared<SharingValue>(8888);
37             ret = Config::GetInstance().SetConfig("mediachannel", "rtmpport", "maxrecvport", valueS);
38             valueS->Print();
39             sleep(1);
40         } else if (inputCmd == "1") {
41             SharingDataGroupByModule::Ptr values = nullptr;
42             auto ret = Config::GetInstance().GetConfig("cfg", values);
43             std::string data = std::string("test");
44             SharingValue::Ptr valueS = std::make_shared<SharingValue>(data);
45             valueS->Print();
46             values->PutSharingValue("rtpport111", "minrecv", valueS);
47             ret = Config::GetInstance().SetConfig("cfg", values);
48             sleep(1);
49         }
50         // SharingConfigureSetConfigTest_002
51         else if (inputCmd == "3") {
52             SharingDataGroupByModule::Ptr values = nullptr;
53             auto ret = Config::GetInstance().GetConfig("mediachannel", values);
54             values->Print();
55             ret = Config::GetInstance().SetConfig("mediachannel", values);
56             sleep(1);
57         } else if (inputCmd == "4") {
58             SharingDataGroupByTag::Ptr values = nullptr;
59             auto ret = Config::GetInstance().GetConfig("mediachannel", "rtmpport", values);
60             values->Print();
61             ret = Config::GetInstance().SetConfig("mediachannel", "rtmpport", values);
62             sleep(1);
63         } else if (inputCmd == "5") {
64             SharingDataGroupByTag::Ptr values = nullptr;
65             auto ret = Config::GetInstance().GetConfig("mediachannel", "rtmpport", values);
66             values->Print();
67             SharingValue::Ptr valueS = std::make_shared<SharingValue>(8080);
68             valueS->Print();
69             values->PutSharingValue("tomcat", valueS);
70 
71             std::unordered_map<std::string, SharingValue::Ptr> datas;
72             {
73                 SharingValue::Ptr valueS1 = std::make_shared<SharingValue>(8080);
74                 datas.emplace(std::make_pair("http", valueS1));
75                 SharingValue::Ptr valueS2 = std::make_shared<SharingValue>(443);
76                 datas.emplace(std::make_pair("ssl", valueS2));
77                 values->PutSharingValues(datas);
78             }
79             bool bret1 = values->HasKey("http");
80             bool bret2 = values->IsTag("rtmpport");
81             bool bret3 = values->HasKey("http1");
82             bool bret4 = values->IsTag("rtmpport2");
83             SharingValue::Ptr value1 = values->GetSharingValue("http");
84             value1->Print();
85             std::unordered_map<std::string, SharingValue::Ptr> values1;
86             values->GetSharingValues(values1);
87             SHARING_LOGD("hasKey: %{public}d,IsTag: %{public}d,HasKey: %{public}d,IsTag: %{public}d,size: %{public}d!",
88                          bret1, bret2, bret3, bret4, values1.size());
89 
90             ret = Config::GetInstance().SetConfig("mediachannel", "rtmpport", values);
91             sleep(1);
92         } else if (inputCmd == "6") {
93             SharingDataGroupByModule::Ptr values = nullptr;
94             auto ret = Config::GetInstance().GetConfig("mediachannel", values);
95             values->Print();
96             SharingValue::Ptr valueS = std::make_shared<SharingValue>(8080);
97             valueS->Print();
98             values->PutSharingValue("apache", "tomcat", valueS);
99 
100             std::unordered_map<std::string, SharingValue::Ptr> datas;
101             {
102                 SharingValue::Ptr valueS1 = std::make_shared<SharingValue>(80);
103                 datas.emplace(std::make_pair("http", valueS1));
104                 SharingValue::Ptr valueS2 = std::make_shared<SharingValue>(443);
105                 datas.emplace(std::make_pair("ssl", valueS2));
106                 values->PutSharingValues("apache", datas);
107             }
108             SharingValue::Ptr value1 = values->GetSharingValue("apache", "http");
109             value1->Print();
110             std::unordered_map<std::string, SharingValue::Ptr> values1;
111             values->GetSharingValues("apache", values1);
112             SharingDataGroupByTag::Ptr value3 = nullptr;
113             values->GetSharingValues("apache", value3);
114             value3->Print();
115             {
116                 SharingValue::Ptr valueS = std::make_shared<SharingValue>(3306);
117                 valueS->Print();
118                 value3->PutSharingValue("mysql", valueS);
119                 value3->Print();
120             }
121             values->PutSharingValues("apache", value3);
122             values->Print();
123 
124             bool bret1 = values->HasKey("", "http");
125             bool bret2 = values->HasTag("rtmpport");
126             bool bret3 = values->HasKey("", "http1");
127             bool bret4 = values->HasTag("rtmpport2");
128             bool bret5 = values->IsModule("mediachannel");
129             bool bret6 = values->IsModule("mediachannel2");
130             SHARING_LOGD(
131                 "HasKey: %{public}d,HasTag: %{public}d,HasKey: %{public}d,HasTag: %{public}d,IsModule: %{public}d,IsModule="
132                 "%{public}d,size: %{public}d.",
133                 bret1, bret2, bret3, bret4, bret5, bret6, values1.size());
134             ret = Config::GetInstance().SetConfig("mediachannel", values);
135             sleep(1);
136         }
137     }
138 
139     sleep(3);
140 
141     return 0;
142 }