MachineIntelligenceCore:Toolchain
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
ApplicationFactory.hpp File Reference

Contains declaration of application factory, used by common main files for initialization of application objects. More...

#include <map>
#include <string>
#include <utility>
#include <stdexcept>
#include <boost/atomic.hpp>
#include <boost/thread/mutex.hpp>
#include <application/ApplicationState.hpp>
Include dependency graph for ApplicationFactory.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  mic::application::FactoryInterface
 Abstract class constituting interface for application factories. More...
 
class  mic::application::TemplateFactory< AppType >
 Template class used for generation of concrete object factories. This enables that each application has an equivalent factory class that provides a Create virtual -. More...
 
class  mic::application::ApplicationFactory
 Application factory, class responsible for generation of an application object. Defined in the form of a singleton, with double-checked locking pattern (DCLP) based access to instance. More...
 

Namespaces

 mic
 Main Machine Intelligence Core namespace.
 
 mic::application
 Contains base application-related classes, types and types.
 

Macros

#define APP_FACTORY   mic::application::ApplicationFactory::getInstance()
 Macro returning application factory instance. More...
 
#define REGISTER_APPLICATION(AppType)   APP_FACTORY->RegisterFactory<AppType>();
 Macro for registering application type/factory. More...
 

Functions

void mic::application::RegisterApplication (void)
 Declaration of a function that must be defined in each application-derived class separately. More...
 

Detailed Description

Contains declaration of application factory, used by common main files for initialization of application objects.

Copyright (C) tkornuta, IBM Corporation 2015-2019

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.

Author
tkornuta
Date
Jan 7, 2016

Definition in file ApplicationFactory.hpp.

Macro Definition Documentation

Macro returning application factory instance.

Author
tkornuta

Definition at line 153 of file ApplicationFactory.hpp.

#define REGISTER_APPLICATION (   AppType)    APP_FACTORY->RegisterFactory<AppType>();

Macro for registering application type/factory.

Author
tkornuta

Definition at line 160 of file ApplicationFactory.hpp.