#ifndef CT_ABSTRACTCLOUDINDEXREGISTRATIONMANAGERT_HPP #define CT_ABSTRACTCLOUDINDEXREGISTRATIONMANAGERT_HPP #include "ct_cloudindex/tools/abstract/ct_abstractcloudindexregistrationmanagert.h" template CT_AbstractCloudIndexRegistrationManagerT::~CT_AbstractCloudIndexRegistrationManagerT() { delete m_mutex; } template bool CT_AbstractCloudIndexRegistrationManagerT::registerIndex(typename CT_AbstractCloudIndexRegistrationManagerT::CT_AbstractModifiableCIR cir) { m_cirArray.append(cir.data()); return true; } template bool CT_AbstractCloudIndexRegistrationManagerT::registerIndex(typename CT_AbstractCloudIndexRegistrationManagerT::CT_AbstractNotModifiableCIR cir) { m_cirMergedArray.append(cir.data()); return true; } template bool CT_AbstractCloudIndexRegistrationManagerT::unregisterIndex(const CT_AbstractModifiableCloudIndexRegisteredT *index) { QMutexLocker locker(m_mutex); if(m_cirArray.removeOne((CT_AbstractModifiableCloudIndexRegisteredT*)index)) return true; return false; } template bool CT_AbstractCloudIndexRegistrationManagerT::unregisterIndex(const CT_AbstractNotModifiableCloudIndexRegisteredT *index) { QMutexLocker locker(m_mutex); if(m_cirMergedArray.removeOne((CT_AbstractNotModifiableCloudIndexRegisteredT*)index)) return true; return false; } template void CT_AbstractCloudIndexRegistrationManagerT::lockAllDocuments() const { if(PS_CONTEXT->documentManager() != NULL) PS_CONTEXT->documentManager()->lockAllDocuments(); } template void CT_AbstractCloudIndexRegistrationManagerT::unlockAllDocuments() const { if(PS_CONTEXT->documentManager() != NULL) PS_CONTEXT->documentManager()->unlockAllDocuments(); } template template CIR* CT_AbstractCloudIndexRegistrationManagerT::createNewIndexRegistered(CI *index) const { CIR* cir = new CIR(index); cir->setCloudIndexRegistrationManager(this); return cir; } template QList< CT_AbstractModifiableCloudIndexRegisteredT* > CT_AbstractCloudIndexRegistrationManagerT::modifiableCloudIndexRegistered() const { return m_cirArray; } template QList< CT_AbstractNotModifiableCloudIndexRegisteredT* > CT_AbstractCloudIndexRegistrationManagerT::notModifiableCloudIndexRegistered() const { return m_cirMergedArray; } #endif // CT_ABSTRACTCLOUDINDEXREGISTRATIONMANAGERT_HPP