6#include <ilog/TLoggerCompWrap.h>
7#include <iqt/ITranslationManager.h>
10#include <imtbase/IDocumentChangeGenerator.h>
11#include <imtbase/IObjectCollection.h>
12#include <imtbase/COperationDescription.h>
19class CDocumentChangeGeneratorCompBase:
20 public ilog::CLoggerComponentBase,
21 virtual public imtbase::IDocumentChangeGenerator
24 typedef ilog::CLoggerComponentBase BaseClass;
26 I_BEGIN_BASE_COMPONENT(CDocumentChangeGeneratorCompBase);
27 I_REGISTER_INTERFACE(imtbase::IDocumentChangeGenerator);
28 I_ASSIGN(m_objectCollectionCompPtr,
"ObjectCollection",
"Object collection",
true,
"ObjectCollection");
29 I_ASSIGN(m_translationManagerCompPtr,
"TranslationManager",
"Translation manager",
false,
"TranslationManager");
33 QByteArray InsertOperationDescription(
35 const QByteArray& operationTypeId,
36 const QByteArray& key,
37 const QString& keyName,
38 const QByteArray& oldValue = QByteArray(),
39 const QByteArray& newValue = QByteArray())
const;
41 const QByteArrayList& oldValueList,
42 const QByteArrayList& newValueList,
43 QByteArrayList& addedValueList,
44 QByteArrayList& removedValueList)
const;
45 bool IsUuid(
const QByteArray& data)
const;
47 virtual bool CompareDocuments(
48 const istd::IChangeable& oldDocument,
49 const istd::IChangeable& newDocument,
50 CObjectCollection& documentChangeCollection,
51 QString& errorMessage) = 0;
52 virtual QString CreateCustomOperationDescription(
const imtbase::COperationDescription& operationDescription,
const QByteArray& languageId = QByteArray())
const;
55 virtual bool GenerateDocumentChanges(
56 const QByteArray& operationTypeId,
57 const QByteArray& documentId,
58 const istd::IChangeable* documentPtr,
59 CObjectCollection& documentChangeCollection,
60 QString& errorMessage,
61 const iprm::IParamsSet* paramsPtr)
override;
62 virtual QString GetOperationDescription(CObjectCollection& documentChangeCollection,
const QByteArray& languageId = QByteArray())
override;
63 virtual QString GetKeyNameForOperation(
const QByteArray& key,
const QByteArray& value)
const;
66 imtbase::COperationDescription* CreateOperationDescription(
67 const QByteArray& operationTypeId,
68 const QByteArray& key,
69 const QString& keyName,
70 const QByteArray& oldValue,
71 const QByteArray& newValue)
const;
75 I_REF(iqt::ITranslationManager, m_translationManagerCompPtr);