messagingfw/alwaysonline/AlwaysOnlineManager/inc/AlwaysOnlineManager.h
author Pat Downey <patd@symbian.org>
Fri, 04 Jun 2010 10:32:16 +0100
changeset 22 bde600d88860
child 35 f8ad95794a08
child 51 58d624870d25
permissions -rw-r--r--
Revert last code drop.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
22
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
     1
/*
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
     2
* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies).
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
     3
* All rights reserved.
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
     4
* This component and the accompanying materials are made available
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
     6
* which accompanies this distribution, and is available
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
     8
*
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
     9
* Initial Contributors:
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    11
*
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    12
* Contributors:
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    13
*
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    14
* Description: 
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    15
*     Alwaysonline manager declaration file
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    16
*
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    17
*/
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    18
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    19
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    20
#ifndef __ALWAYSONLINEMANAGER_H__
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    21
#define __ALWAYSONLINEMANAGER_H__
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    22
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    23
// INCLUDES
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    24
#include <e32base.h>
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    25
#include <AlwaysOnlineManagerClient.h>
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    26
#include <msvapi.h>
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    27
#include <rconnmon.h>
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    28
#include <MuiuMsvSingleOpWatcher.h>
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    29
#include <centralrepository.h>
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    30
#include <cenrepnotifyhandler.h>
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    31
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    32
#include "AlwaysOnlineEComInterface.h"
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    33
#include "AlwaysOnlineStatusQueryInterface.h"
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    34
#include "AlwaysOnlineManagerDiskSpaceObserver.h"
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    35
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    36
// CONSTANTS
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    37
// MACROS
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    38
// DATA TYPES
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    39
// FUNCTION PROTOTYPES
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    40
// FORWARD DECLARATIONS
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    41
class CAlwaysOnlineManagerServer;
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    42
class CAOCenRepControl;
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    43
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    44
// CLASS DECLARATION
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    45
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    46
/**
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    47
* CAlwaysOnlineManager
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    48
*
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    49
* This class contains the plugin related logic in always online server
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    50
* @since s60 2.1
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    51
*/
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    52
class CAlwaysOnlineManager :
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    53
    public CBase,
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    54
    public MAlwaysOnlineStatusQueryInterface,
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    55
    public MConnectionMonitorObserver,
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    56
    public MMsvSessionObserver,
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    57
    public MMsvSingleOpWatcher,
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    58
    public MCenRepNotifyHandlerCallback
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    59
    {
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    60
    public:
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    61
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    62
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    63
        /**
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    64
        * NewL();
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    65
        * @since Series60 2.6
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    66
        * @param CAlwaysOnlineManagerServer*, pointer to server
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    67
        * @return CAlwaysOnlineManager*, self
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    68
        */
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    69
        static CAlwaysOnlineManager* NewL( CAlwaysOnlineManagerServer* aServer );
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    70
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    71
        /**
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    72
        * Destructor
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    73
        * ~CAlwaysOnlineManager();
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    74
        */
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    75
        ~CAlwaysOnlineManager();
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    76
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    77
        /**
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    78
        * DoStartL();
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    79
        * @since Series60 2.6
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    80
        */
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    81
        void DoStartL();
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    82
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    83
        /**
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    84
        * RoamingStatus()
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    85
        * @since Series60 2.6
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    86
        * @param TInt, query id
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    87
        * @return TAny*, returned value for a query. Real type depends on
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    88
        * the query. See documentation
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    89
        */
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    90
        TAny* QueryStatusL( TInt aQuery );
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    91
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    92
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    93
        /**
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    94
        * HandleOfflineEventL
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    95
        * Sends event to plugins to inform them about changes between
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    96
        * offline/normal mode
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    97
        * @since Series60 2.6
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    98
        * @param TInt event id
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
    99
        */
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   100
        void HandleOfflineEventL( TInt aEvent );
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   101
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   102
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   103
        /**
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   104
        * From connmon
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   105
        * @since Series60 2.6
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   106
        * @param CConnMonEventBase
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   107
        */
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   108
        void EventL( const CConnMonEventBase &aConnMonEvent );
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   109
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   110
        /**
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   111
        * HandleDiskSpaceEventL()
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   112
        * Handle event from disk space observer
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   113
        * @since Series60 2.6
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   114
        * @param TInt, event id
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   115
        */
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   116
        void HandleDiskSpaceEventL( TInt aEvent );
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   117
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   118
    private: // From base classes
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   119
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   120
        /**
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   121
        * From MCenRepNotifyHandlerCallback
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   122
        * Handles the incoming notifications of key changes
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   123
        * @since Series60 3.0
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   124
        * @param aId, Key that has changed
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   125
        * @param aNewValue, New value of the key
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   126
        */
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   127
        void HandleNotifyInt( TUint32 aId, TInt aNewValue );
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   128
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   129
        /**
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   130
        * From MCenRepNotifyHandlerCallback
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   131
        * Handles the notifier errors
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   132
        * @since Series60 3.0
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   133
        * @param aId, Key that has changed
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   134
        * @param aNewValue, New value of the key
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   135
        */
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   136
        void HandleNotifyError(
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   137
            TUint32 aId,
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   138
            TInt aError,
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   139
            CCenRepNotifyHandler* aHandler );
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   140
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   141
        /**
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   142
        * HandleSessionEventL
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   143
        * @since Series60 2.6
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   144
        * @param TMsvSessionEvent, session event
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   145
        * @param TAny* parameter 1
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   146
        * @param TAny* parameter 2
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   147
        * @param TAny* parameter 3
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   148
        */
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   149
        void HandleSessionEventL(TMsvSessionEvent aEvent,
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   150
            TAny* aArg1,
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   151
            TAny* /*aArg2*/,
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   152
            TAny* /*aArg3*/);
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   153
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   154
    public:
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   155
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   156
        /**
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   157
        * BroadcastClientCommandL
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   158
        * @since Series60 2.6
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   159
        */
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   160
        void BroadcastClientCommandL( TAlwaysOnlineServerAPICommands aCommand, TDes8& aParameter );
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   161
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   162
        /**
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   163
        * OpCompleted()
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   164
        * From MMsvSingleOpWatcher
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   165
        * @since Series60 2.6
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   166
        * @param CMsvSingleOpWatcher& opwatcher which completed
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   167
        * @param TInt, completion code
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   168
        */
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   169
        virtual void OpCompleted(
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   170
            CMsvSingleOpWatcher& aOpWatcher,
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   171
            TInt aCompletionCode );
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   172
    private:
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   173
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   174
        /**
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   175
        * C++ constructor
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   176
        * CAlwaysOnlineManager();
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   177
        */
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   178
        CAlwaysOnlineManager();
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   179
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   180
        /**
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   181
        * ConstructL()
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   182
        * @since Series60 2.6
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   183
        * @param CAlwaysOnlineManagerServer*, server pointer
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   184
        */
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   185
        void ConstructL( CAlwaysOnlineManagerServer* aServer );
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   186
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   187
        /**
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   188
        * LoadPluginsL();
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   189
        * @since Series60 2.6
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   190
        */
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   191
        void LoadPluginsL();
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   192
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   193
        /**
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   194
        * StartPluginsL();
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   195
        * @since Series60 2.6
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   196
        */
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   197
        void StartPluginsL();
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   198
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   199
        /**
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   200
        * Check network status and report it to plugins;
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   201
        * @since Series60 2.6
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   202
        */
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   203
        void CheckNetworkStatusAndSetObserverL();
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   204
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   205
        /**
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   206
        * Takes action based on registration status
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   207
        * @since Series60 2.6
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   208
        * @param TInt, status id
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   209
        */
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   210
        void HandleRegistrationStatusL( TInt aStatus );
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   211
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   212
        /**
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   213
        * Sends command to all plugins
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   214
        * @since Series60 3.2.3
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   215
        * @param TManagerServerCommands, command for plugin
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   216
        * @param TDes8&, parameter
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   217
        */
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   218
        void BroadcastCommandDirectL(
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   219
            TManagerServerCommands aCommand,
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   220
            TDes8& aParameter );
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   221
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   222
        /**
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   223
        *
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   224
        * @since Series60 2.6
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   225
        */
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   226
        void InvokeCommandHandlerL( const TManagerServerCommands aCommand,
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   227
            TDes8& aParameter,
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   228
            TInt aIndex );
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   229
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   230
        /**
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   231
        * Queries all the started plugins, whether they want to be shutdown or not.
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   232
        * @since Series60 3.1
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   233
        */
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   234
        void QuerySuicideL();
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   235
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   236
        /**
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   237
        * Handles starting of plugin, which UID is inside parameter.
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   238
        * @since Series60 3.1
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   239
        * @param aParameter, UID of plugin
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   240
        */
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   241
        void HandleStartPluginL( const TDes8& aParameter );
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   242
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   243
        /**
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   244
        * Handles stopping of plugin, which UID is inside parameter.
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   245
        * @since Series60 3.1
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   246
        * @param aParameter, UID of plugin
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   247
        */
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   248
        void HandleStopPluginL( const TDes8& aParameter );
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   249
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   250
        /**
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   251
        * Handles stopping of plugin with given UID.
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   252
        * @since Series60 3.1
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   253
        * @param aPlugin, UID of plugin
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   254
        */
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   255
        void StopPluginL( const TUid& aPlugin );
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   256
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   257
        /**
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   258
        * Unloads the plugin with given UID and sets it as disabled.
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   259
        * @since Series60 3.1
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   260
        * @param aPlugin, UID of plugin
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   261
        */
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   262
        void DisablePlugin( const TUid& aPlugin );
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   263
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   264
        /**
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   265
        * Handles the final progress of an operation.
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   266
        * @since Series60 3.1
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   267
        * @param aProgress, progress from operation
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   268
        */
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   269
        void HandleOpCompletionL( const TDesC8& aProgress );
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   270
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   271
        /**
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   272
        * Handles the parsing of final progress.
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   273
        * @since Series60 3.1
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   274
        * @param aProgress, final progress of an operation
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   275
        * @param aUid, UID of plugin
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   276
        * @param aCommand, command executed in operation
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   277
        * @param aResult, final result of an operation
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   278
        */
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   279
        TBool ParseProgressL( 
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   280
            const TDesC8& aProgress, 
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   281
            TUid& aUid,
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   282
            TInt& aCommand,
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   283
            TDes8& aResult );
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   284
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   285
    //data
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   286
    private:
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   287
        TBool                           iOffline;
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   288
        TInt                            iNetworkStatus;
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   289
        TBool                           iPluginsLoaded;
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   290
        CArrayFixFlat<CAlwaysOnlineEComInterface*>* iPluginArray;
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   291
        CArrayFixFlat<TUid>*            iDisabledPluginUidsArray;
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   292
        CAlwaysOnlineManagerServer*     iServer;
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   293
        CAlwaysOnlineDiskSpaceObserver* iDiskSpaceObserver;
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   294
        RFs                             iRfs;
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   295
        CMsvSession*                    iSession;
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   296
        // Array to store the operation
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   297
        CMsvSingleOpWatcherArray*       iOperations;
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   298
        TInt                            iLastDiskEvent;
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   299
        // Used to listen network state changes
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   300
        RConnectionMonitor              iConMon;
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   301
        // Handle all the cenrep actions
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   302
        CAOCenRepControl*               iCenRepControl;
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   303
    };
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   304
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   305
#endif
bde600d88860 Revert last code drop.
Pat Downey <patd@symbian.org>
parents:
diff changeset
   306
//EOF