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_ATTRIBUTE_GENERATOR_H_
22 #define SIMULATOR_ATTRIBUTE_GENERATOR_H_
25 #include "simulator_resource_model.h"
26 #include "attribute_value_generator.h"
28 class AttributeGenerator
31 AttributeGenerator(const SimulatorResourceAttribute &attribute);
32 AttributeGenerator(const std::string &name,
33 const std::shared_ptr<AttributeProperty> &property);
36 bool next(SimulatorResourceAttribute &attribute);
37 SimulatorResourceAttribute current();
42 std::unique_ptr<AttributeValueGen> m_valueGen;
45 class AttributeCombinationGen
48 AttributeCombinationGen(const std::vector<SimulatorResourceAttribute> &attributes);
49 bool next(SimulatorResourceModel &resModel);
52 void updateAttributeInModel(int index);
55 std::vector<AttributeGenerator> m_attrGenList;
57 SimulatorResourceModel m_resModel;