emailservices/nmclientapi/src/nmapiengine.cpp
changeset 44 c2d07d913565
parent 43 99bcbff212ad
child 48 10eaf342f539
equal deleted inserted replaced
43:99bcbff212ad 44:c2d07d913565
   108     NmApiMessage message;
   108     NmApiMessage message;
   109     message.objectType = EMailbox;
   109     message.objectType = EMailbox;
   110     switch (mailboxEvent) {
   110     switch (mailboxEvent) {
   111         case NmMailboxCreated: {
   111         case NmMailboxCreated: {
   112             message.action = ENew;
   112             message.action = ENew;
       
   113             // subscribe all events also for these new mailboxes
       
   114             for(int i=0; i<mailboxIds.count(); i++) {
       
   115                 mFactory->interfaceInstance()->subscribeMailboxEvents(mailboxIds[i]);
       
   116             }
   113         }
   117         }
   114             break;
   118             break;
   115         case NmMailboxDeleted: {
   119         case NmMailboxDeleted: {
   116             message.action = EDeleted;
   120             message.action = EDeleted;
       
   121             // unsubscribe all events from deleted mailboxes
       
   122             for(int i=0; i<mailboxIds.count(); i++) {
       
   123                 mFactory->interfaceInstance()->unsubscribeMailboxEvents(mailboxIds[i]);
       
   124             }
   117         }
   125         }
   118             break;
   126             break;
   119         case NmMailboxChanged: {
   127         case NmMailboxChanged: {
   120             message.action = EChange;
   128             message.action = EChange;
   121         }
   129         }
   220         instance->listMailboxes(mailboxFromPlugin);
   228         instance->listMailboxes(mailboxFromPlugin);
   221     }
   229     }
   222 
   230 
   223     while (mailboxFromPlugin.isEmpty() == false) {
   231     while (mailboxFromPlugin.isEmpty() == false) {
   224         NmMailbox* tempNmMailbox = mailboxFromPlugin.takeLast();
   232         NmMailbox* tempNmMailbox = mailboxFromPlugin.takeLast();
       
   233 
       
   234         // subscribe all events also for these new mailboxes
       
   235         instance->subscribeMailboxEvents(tempNmMailbox->id());
       
   236 
       
   237         // construct mailboxlist to platform api
   225         mailboxList << NmToApiConverter::NmMailbox2NmApiMailbox(*tempNmMailbox);
   238         mailboxList << NmToApiConverter::NmMailbox2NmApiMailbox(*tempNmMailbox);
       
   239 
   226         delete tempNmMailbox;
   240         delete tempNmMailbox;
   227     }
   241     }
   228 }
   242 }
   229 
   243 
   230 /*!
   244 /*!
   331             envelope.setPlainText(plainText);
   345             envelope.setPlainText(plainText);
   332             envelope.setFetchedSize(message->fetchedSize());
   346             envelope.setFetchedSize(message->fetchedSize());
   333             envelope.setTotalSize(message->size());
   347             envelope.setTotalSize(message->size());
   334 
   348 
   335             found = true;
   349             found = true;
   336             delete plainTextPart;
       
   337         }
   350         }
   338         delete message;
   351         delete message;
   339     }
   352     }
   340     return found;
   353     return found;
   341 }
   354 }