1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- #include <new>
- #include <kopano/platform.h>
- #include "ECDatabase.h"
- #include <mapidefs.h>
- #include "ECSecurity.h"
- #include "ECSessionManager.h"
- #include "ECMultiStoreTable.h"
- #include "ECSession.h"
- #include "ECMAPI.h"
- #include <kopano/stringutil.h>
- namespace KC {
- ECMultiStoreTable::ECMultiStoreTable(ECSession *lpSession, unsigned int ulObjType, unsigned int ulFlags, const ECLocale &locale) : ECStoreObjectTable(lpSession, 0, NULL, 0, ulObjType, ulFlags, 0, locale) {
- }
- ECRESULT ECMultiStoreTable::Create(ECSession *lpSession, unsigned int ulObjType, unsigned int ulFlags, const ECLocale &locale, ECMultiStoreTable **lppTable)
- {
- *lppTable = new(std::nothrow) ECMultiStoreTable(lpSession, ulObjType, ulFlags, locale);
- if (*lppTable == nullptr)
- return KCERR_NOT_ENOUGH_MEMORY;
- (*lppTable)->AddRef();
- return erSuccess;
- }
- ECRESULT ECMultiStoreTable::SetEntryIDs(ECListInt *lplObjectList) {
- ECRESULT er = erSuccess;
-
- m_lstObjects = *lplObjectList;
- return er;
- }
- ECRESULT ECMultiStoreTable::Load() {
- ECRESULT er = erSuccess;
- ECListIntIterator i;
- sObjectTableKey sRowItem;
- Clear();
- for (i = m_lstObjects.begin(); i != m_lstObjects.end(); ++i)
- UpdateRow(ECKeyTable::TABLE_ROW_ADD, *i, 0);
- return er;
- }
- }
|