CHotfolderWorkflowComp.h
Go to the documentation of this file.
1 #ifndef ihotf_CHotfolderWorkflowComp_included
2 #define ihotf_CHotfolderWorkflowComp_included
3 
4 
5 // Qt includes
6 #include <QtCore/QMap>
7 
8 // ACF includes
9 #include "istd/TDelPtr.h"
10 #include "istd/TChangeDelegator.h"
11 #include "istd/TPointerVector.h"
12 #include "icomp/CComponentBase.h"
13 
14 // AcfSln includes
18 
19 
20 namespace ihotf
21 {
22 
23 
28  public icomp::CComponentBase,
29  virtual public ihotf::IHotfolderWorkflow,
30  virtual public ihotf::IHotfolderInfoManager
31 {
32 public:
34 
35  I_BEGIN_COMPONENT(CHotfolderWorkflowComp);
36  I_REGISTER_INTERFACE(ihotf::IHotfolderWorkflow);
37  I_REGISTER_INTERFACE(ihotf::IHotfolderInfoManager);
38  I_REGISTER_INTERFACE(iser::ISerializable);
39 
40  I_ASSIGN_MULTI_0(m_hotoflderFactoriesCompPtr, "HotfolderFactories", "List of factories for hotfolder creation", true);
41  I_ASSIGN_MULTI_0(m_hotoflderFactoryIdsAttrPtr, "HotfolderFactoryIds", "List of factory IDs for hotfolder creation", true);
42  I_END_COMPONENT;
43 
45 
46  // reimplemented (ihotf::IHotfolderInfoManager)
47  virtual ihotf::IHotfolderProcessingInfo* GetProcessingInfo(const QString& hotfolderName) const;
48 
49  // reimplemented (ihotf::IHotfolderWorkflow)
50  virtual ihotf::IHotfolderWorkflowItem* AddHotfolder(const QString& hotfolderName, const QString& hotfolderId = QString());
51  virtual bool RemoveHotfolder(const QString& hotfolderName);
52  virtual QStringList GetHotfolderIds() const;
53  virtual QStringList GetHotfolderList() const;
54  virtual ihotf::IHotfolderWorkflowItem* GetHotfolder(const QString& hotfolderName) const;
55 
56  // reimplemented (iser::ISerializable)
57  virtual bool Serialize(iser::IArchive& archive);
58 
59 protected:
61  {
64  };
65 
67 
68  virtual HotfolderItem* CreateHotfolder(const QString& hotfolderName, const QString& hotfolderId = QString()) const;
69  virtual ihotf::IHotfolderWorkflowItem* CreateWorkflowItem(const QString& hotfolderId) const;
70 
71 private:
72  I_MULTIFACT(iprm::IParamsSet, m_hotoflderFactoriesCompPtr);
73  I_MULTIATTR(QString, m_hotoflderFactoryIdsAttrPtr);
74 
75  Hotfolders m_hotfolders;
76 };
77 
78 
79 } // namespace ihotf
80 
81 
82 #endif // !ihotf_CHotfolderWorkflowComp_included
83 
virtual ihotf::IHotfolderWorkflowItem * GetHotfolder(const QString &hotfolderName) const
Get the hotfolder.
virtual QStringList GetHotfolderList() const
Get hotfolder list in this workflow.
virtual bool RemoveHotfolder(const QString &hotfolderName)
Remove a hotfolder with the name hotfolderName from the workflow.
virtual QStringList GetHotfolderIds() const
Get the list of possible hotfolder IDs.
Interface for a hotfolder's processing data model.
Interface for getting some informations about properties of a given hotfolder.
istd::TPointerVector< HotfolderItem > Hotfolders
Implementation of the dynamic data model of the hotfolder.
istd::TDelPtr< ihotf::IHotfolderWorkflowItem > elementPtr
virtual ihotf::IHotfolderProcessingInfo * GetProcessingInfo(const QString &hotfolderName) const
Get processing info for a given hotfolder.
istd::TDelPtr< iprm::IParamsSet > hotfolderParamsPtr
Interface for getting some infos about a hotfolder.
virtual ihotf::IHotfolderWorkflowItem * AddHotfolder(const QString &hotfolderName, const QString &hotfolderId=QString())
Add a hotfolder to the workflow.
Common interface for a hotfolder workflow static model.
virtual bool Serialize(iser::IArchive &archive)
virtual ihotf::IHotfolderWorkflowItem * CreateWorkflowItem(const QString &hotfolderId) const
virtual HotfolderItem * CreateHotfolder(const QString &hotfolderName, const QString &hotfolderId=QString()) const

© 2007-2011 Witold Gantzke and Kirill Lepskiy