1 /******************************************************************
3 * Copyright 2015 Samsung Electronics All Rights Reserved.
7 * Licensed under the Apache License, Version 2.0 (the "License");
8 * you may not use this file except in compliance with the License.
9 * You may obtain a copy of the License at
11 * http://www.apache.org/licenses/LICENSE-2.0
13 * Unless required by applicable law or agreed to in writing, software
14 * distributed under the License is distributed on an "AS IS" BASIS,
15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 * See the License for the specific language governing permissions and
17 * limitations under the License.
19 ******************************************************************/
21 #ifndef PUT_REQUEST_GEN_H_
22 #define PUT_REQUEST_GEN_H_
24 #include "auto_request_gen.h"
25 #include "query_param_generator.h"
26 #include "attribute_generator.h"
28 class PUTRequestGenerator : public AutoRequestGeneration
31 PUTRequestGenerator(int id, RequestSenderSP &requestSender,
32 SimulatorResourceModelSP &representation,
33 ProgressStateCallback callback);
35 PUTRequestGenerator(int id, RequestSenderSP &requestSender,
36 const std::map<std::string, std::vector<std::string>> &queryParams,
37 SimulatorResourceModelSP &representation,
38 ProgressStateCallback callback);
44 void SendAllRequests();
45 void onResponseReceived(SimulatorResult result, SimulatorResourceModelSP repModel);
48 QPGenerator m_queryParamGen;
49 SimulatorResourceModelSP m_rep;
50 std::mutex m_statusLock;
53 std::shared_ptr<std::thread> m_thread;
56 typedef std::shared_ptr<PUTRequestGenerator> PUTRequestGeneratorSP;