messagingapp/msgsettings/msginit/tsrc/testmsginit/inc/testoutboxsender_stub.h
author hgs
Tue, 31 Aug 2010 18:53:38 +0530
changeset 56 f42d9a78f435
permissions -rw-r--r--
201033_02
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
56
f42d9a78f435 201033_02
hgs
parents:
diff changeset
     1
/*
f42d9a78f435 201033_02
hgs
parents:
diff changeset
     2
 * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
f42d9a78f435 201033_02
hgs
parents:
diff changeset
     3
 * All rights reserved.
f42d9a78f435 201033_02
hgs
parents:
diff changeset
     4
 * This component and the accompanying materials are made available
f42d9a78f435 201033_02
hgs
parents:
diff changeset
     5
 * under the terms of "Eclipse Public License v1.0"
f42d9a78f435 201033_02
hgs
parents:
diff changeset
     6
 * which accompanies this distribution, and is available
f42d9a78f435 201033_02
hgs
parents:
diff changeset
     7
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
f42d9a78f435 201033_02
hgs
parents:
diff changeset
     8
 *
f42d9a78f435 201033_02
hgs
parents:
diff changeset
     9
 * Initial Contributors:
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    10
 * Nokia Corporation - initial contribution.
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    11
 *
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    12
 * Contributors:
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    13
 *
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    14
 * Description:  
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    15
 *       This class follows the offline status of the phone. When the mode is
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    16
 *       changed from online to offline, the sending operation is started. When
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    17
 *       the mode is changed from online to offline, the current sending
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    18
 *       operation is cancelled.
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    19
 *
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    20
 */
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    21
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    22
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    23
#ifndef TESTOUTBOXSENDER_STUB_H_
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    24
#define TESTOUTBOXSENDER_STUB_H_
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    25
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    26
//  INCLUDES
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    27
#include <msvapi.h>
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    28
#include <MuiuMsvSingleOpWatcher.h>
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    29
#include <cenrepnotifyhandler.h>
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    30
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    31
// FORWARD DECLARATIONS
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    32
class CRepository;
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    33
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    34
// CLASS DECLARATION
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    35
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    36
class CTestOutboxSender: public MMsvSingleOpWatcher
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    37
{
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    38
public:
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    39
    // Constructors and destructor
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    40
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    41
    /**
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    42
     *   A two-phased constructor.
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    43
     */
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    44
    static CTestOutboxSender* NewL(CMsvSession& aMsvSession);
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    45
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    46
    /**
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    47
     *   A destructor.
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    48
     */
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    49
    virtual ~CTestOutboxSender();
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    50
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    51
public:
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    52
    // New functions
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    53
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    54
    /**
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    55
     *   Starts the message sending operation for sms-messages.
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    56
     */
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    57
    void StartSendingL();
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    58
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    59
    /**
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    60
     *   Cancels current message sending operation.
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    61
     */
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    62
    void CancelSending();
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    63
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    64
    /**
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    65
     *   Checks if the sending operation is currently active.
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    66
     */
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    67
    TBool IsSending() const;
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    68
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    69
    /**
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    70
     *  Confirms the network status and starts sending messages
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    71
     */
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    72
    void CheckAndStartSendingL(const TInt& aNetworkBars);
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    73
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    74
public:
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    75
    // Functions from base classes
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    76
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    77
    /**
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    78
     *   From MMsvSingleOpWatcher. Deletes the sending operation.
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    79
     */
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    80
    virtual void OpCompleted(CMsvSingleOpWatcher& aOpWatcher, TInt aCompletionCode);
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    81
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    82
private:
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    83
    /**
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    84
     *   A C++ Constructor
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    85
     */
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    86
    CTestOutboxSender(CMsvSession& aMsvSession);
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    87
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    88
    /**
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    89
     *   Creates the connection to shared data and
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    90
     *   begins listening the KGSNetworkConnectionAllowed-key.
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    91
     */
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    92
    void ConstructL();
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    93
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    94
    /**
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    95
     * Checks whether SMS sending is needed in boot-phase and
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    96
     * launches the sending operation
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    97
     */
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    98
    void CheckBootPhaseL();
f42d9a78f435 201033_02
hgs
parents:
diff changeset
    99
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   100
private:
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   101
    enum TCleanupFlags
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   102
    {
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   103
        EUserSettingsConnected = 0x01,
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   104
        EUserSettingsNotifierSet = 0x02,
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   105
        EOffllineSendingNeeded = 0x10
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   106
    };
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   107
};
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   108
f42d9a78f435 201033_02
hgs
parents:
diff changeset
   109
#endif /* TESTOUTBOXSENDER_STUB_H_ */