/* * Copyright (C) 2012 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); you may not * use this file except in compliance with the License. You may obtain a copy of * the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the * License for the specific language governing permissions and limitations under * the License. */ #include "Log.h" #include "GenericFactory.h" #include "ClientImpl.h" #include "task/TaskAll.h" ClientInterface* GenericFactory::createClientInterface() { return new ClientImpl(); } TaskGeneric* GenericFactory::createTask(TaskGeneric::TaskType type) { TaskGeneric* task; switch(type) { case TaskGeneric::ETaskBatch: task = new TaskBatch(); break; case TaskGeneric::ETaskCase: task = new TaskCase(); break; case TaskGeneric::ETaskSequential: task = new TaskSequential(); break; case TaskGeneric::ETaskProcess: task = new TaskProcess(); break; case TaskGeneric::ETaskInput: task = new TaskInput(); break; case TaskGeneric::ETaskOutput: task = new TaskOutput(); break; case TaskGeneric::ETaskSound: task = new TaskSound(); break; case TaskGeneric::ETaskSave: task = new TaskSave(); break; // simple elements without its own class case TaskGeneric::ETaskSetup: case TaskGeneric::ETaskAction: task = new TaskGeneric(type); break; case TaskGeneric::ETaskMessage: task = new TaskMessage(); break; case TaskGeneric::ETaskDownload: task = new TaskDownload(); break; default: LOGE("GenericFactory::createTask unsupported type %d", type); return NULL; } LOGD("GenericFactory::createTask 0x%x, type %d", task, type); return task; }