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 SIMULATOR_RESOURCE_UPDATE_AUTOMATION_MNGR_H_
22 #define SIMULATOR_RESOURCE_UPDATE_AUTOMATION_MNGR_H_
24 #include "resource_update_automation.h"
25 #include <unordered_map>
27 class SimulatorSingleResourceImpl;
28 class UpdateAutomationMngr
31 UpdateAutomationMngr() : m_id(0) {}
33 int startResourceAutomation(std::shared_ptr<SimulatorSingleResourceImpl> resource,
34 AutoUpdateType type, int interval,
35 const SimulatorSingleResource::AutoUpdateCompleteCallback &callback);
37 int startAttributeAutomation(std::shared_ptr<SimulatorSingleResourceImpl> resource,
38 const std::string &attrName, AutoUpdateType type, int interval,
39 const SimulatorSingleResource::AutoUpdateCompleteCallback &callback);
41 std::vector<int> getResourceAutomationIds();
43 std::vector<int> getAttributeAutomationIds();
45 void stop(int updationID);
50 void automationCompleted(int id);
54 std::unordered_map<int, ResourceUpdateAutomationSP> m_resourceUpdationList;
55 std::unordered_map<int, AttributeUpdateAutomationSP> m_attrUpdationList;