ICF 3.0.5.47
Technical documentation of ICF Libraries
CCopyAppComp.h
Go to the documentation of this file.
1/********************************************************************************
2** This file is part of the ICF Framework. Copyright (C) Witold Gantzke & Kirill Lepskiy
3** ICF Framework may be used under the terms of the LGPL License v. 2.1 by the Free Software Foundation.
4********************************************************************************/
5
6#ifndef ifileproc_CCopyAppComp_included
7#define ifileproc_CCopyAppComp_included
8
9
10// Qt includes
11#include <QtCore/QStringList>
12
13// ICF includes
14#include <istd/IChangeable.h>
15#include <ibase/IApplication.h>
19
20
21namespace ifileproc
22{
23
24
32 virtual public ibase::IApplication
33{
34public:
36
37 I_BEGIN_COMPONENT(CCopyAppComp);
38 I_REGISTER_INTERFACE(ibase::IApplication);
39
40 I_ASSIGN(m_fileCopyCompPtr, "FileCopy", "Provide copy of single file", true, "FileCopy");
41 I_ASSIGN(m_needExplicitInputAttrPtr, "NeedExplicitInput", "Indicate if explicit input file with -input is needed, otherwise first argument will be taken", true, false);
42 I_END_COMPONENT;
43
44 // reimplemented (ibase::IApplication)
45 bool InitializeApplication(int argc, char** argv) override;
46 int Execute(int argc, char** argv) override;
47 QString GetHelpText() const override;
48 QStringList GetApplicationArguments() const override;
49
50private:
51 I_REF(IFileConversion, m_fileCopyCompPtr);
52 I_ATTR(bool, m_needExplicitInputAttrPtr);
53
54 QStringList m_applicationArguments;
55};
56
57
58} // namespace ifileproc
59
60
61#endif // !ifileproc_CCopyAppComp_included
62
63
Interface for the main entry point of a component-based application.
General file transformation application.
QString GetHelpText() const override
Get information about the possible command line arguments of this application.
QStringList GetApplicationArguments() const override
Get the command line arguments of this application.
int Execute(int argc, char **argv) override
Start execution loop of the application.
bool InitializeApplication(int argc, char **argv) override
Initialize the application object.
ilog::CLoggerComponentBase BaseClass
General interface for conversion of files.
Wrapper provider of log-functionality for component based implementations.
Contains the classes for general file processing.

© Witold Gantzke and Kirill Lepskiy