contentstorage/caclient/src/canotifier.cpp
changeset 80 397d00875918
parent 73 4bc7b118b3df
equal deleted inserted replaced
73:4bc7b118b3df 80:397d00875918
    13  *
    13  *
    14  * Description: canotifier.cpp
    14  * Description: canotifier.cpp
    15  *
    15  *
    16  */
    16  */
    17 
    17 
       
    18 #include <caservice.h>
       
    19 
    18 #include "canotifier.h"
    20 #include "canotifier.h"
    19 #include "canotifier_p.h"
    21 #include "canotifier_p.h"
    20 #include "canotifierfilter.h"
    22 #include "canotifierfilter.h"
    21 #include "caclientnotifierproxy.h"
    23 #include "caclientnotifierproxy.h"
    22 #include "caobserver.h"
    24 #include "caobserver.h"
    50  Client * client;
    52  Client * client;
    51  ...
    53  ...
    52  QSharedPointer<CaService> service = CaService::instance();
    54  QSharedPointer<CaService> service = CaService::instance();
    53  CaNotifierFilter notifierFilter();
    55  CaNotifierFilter notifierFilter();
    54  CaNotifier * notifier = service->createNotifier(notifierfilter);
    56  CaNotifier * notifier = service->createNotifier(notifierfilter);
       
    57 
       
    58 CaService instance is a singleton and is deleted when nothing references
       
    59 it but CaNotifier contains a member referencing it,
       
    60 so, CaService instance is not deleted before notifier is deleted.
    55 
    61 
    56  // Connections cause that notifier is registered to server distributed
    62  // Connections cause that notifier is registered to server distributed
    57  // notifications while data changes.
    63  // notifications while data changes.
    58  if( notifier )
    64  if( notifier )
    59  {
    65  {
   219 CaNotifierPrivate::CaNotifierPrivate(
   225 CaNotifierPrivate::CaNotifierPrivate(
   220     const CaNotifierFilter &notifierFilter, 
   226     const CaNotifierFilter &notifierFilter, 
   221     CaClientNotifierProxy *notifierProxy) :
   227     CaClientNotifierProxy *notifierProxy) :
   222     m_q(NULL),
   228     m_q(NULL),
   223     mNotifierFilter(NULL), 
   229     mNotifierFilter(NULL), 
   224     mObserver(NULL)
   230     mObserver(NULL),
       
   231     mCaService(CaService::instance())
   225 {
   232 {
   226     mNotifierProxy = notifierProxy;
   233     mNotifierProxy = notifierProxy;
   227     mNotifierFilter = new CaNotifierFilter(notifierFilter);
   234     mNotifierFilter = new CaNotifierFilter(notifierFilter);
   228 }
   235 }
   229 
   236