#ifndef CT_ABSTRACTGLOBALCLOUDMANAGERT_HPP #define CT_ABSTRACTGLOBALCLOUDMANAGERT_HPP #include "ct_cloud/tools/abstract/ct_abstractglobalcloudmanagert.h" template CT_AbstractGlobalCloudManagerT::CT_AbstractGlobalCloudManagerT() : CT_AbstractGlobalCloudManager() { } // protected // template void CT_AbstractGlobalCloudManagerT::shiftAllCloudIndexFrom(const int &from, const size_t &offset, const bool &negativeOffset) { int aSize = m_cirArray.size(); for(int i=from; iabstractCloudIndexT()->internalShiftAll(offset, negativeOffset); } template void CT_AbstractGlobalCloudManagerT::lockAllDocuments() { if(PS_CONTEXT->documentManager() != NULL) PS_CONTEXT->documentManager()->lockAllDocuments(); } template void CT_AbstractGlobalCloudManagerT::unlockAllDocuments() { if(PS_CONTEXT->documentManager() != NULL) PS_CONTEXT->documentManager()->unlockAllDocuments(); } template template std::vector< ct_index_type >* CT_AbstractGlobalCloudManagerT::getInternalDataOfIndex(CI *index) const { return index->internalData(); } template template CIR* CT_AbstractGlobalCloudManagerT::createNewIndexRegistered(CI *index) const { return new CIR(index); } template void CT_AbstractGlobalCloudManagerT::setEnableSyncForCIR(CT_AbstractCloudIndexRegisteredT *cir, bool enable) { if(enable) { m_cirArrayUnsync.removeOne(cir); return; } if(!enable && !m_cirArrayUnsync.contains(cir)) m_cirArrayUnsync.append(cir); } template bool CT_AbstractGlobalCloudManagerT::nextIndexToIgnoreToSync(const size_t ¤tIndex, size_t &beginIndex, size_t &endIndex) { if(m_cirArrayUnsync.isEmpty()) return false; QListIterator< CT_AbstractCloudIndexRegisteredT* > it(m_cirArrayUnsync); if(it.hasNext()) { CT_AbstractCloudIndexRegisteredT *cir = it.next(); beginIndex = cir->first(); endIndex = cir->last(); bool stop = false; while(!stop && it.hasNext()) { cir = it.next(); if(currentIndex > endIndex) { beginIndex = cir->first(); endIndex = cir->last(); } else { stop = true; } } if(currentIndex > beginIndex) beginIndex = currentIndex; return (currentIndex <= endIndex); } return false; } #endif // CT_ABSTRACTGLOBALCLOUDMANAGERT_HPP