cbs/cbsserver/ServerSrc/CCbsEtelMessaging.cpp
author hgs
Tue, 10 Aug 2010 13:19:41 +0300
changeset 38 bc103bfb69cf
parent 33 8d5d7fcf9b59
permissions -rw-r--r--
201031_02
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
33
hgs
parents:
diff changeset
     1
/*
hgs
parents:
diff changeset
     2
* Copyright (c) 2003 Nokia Corporation and/or its subsidiary(-ies). 
hgs
parents:
diff changeset
     3
* All rights reserved.
hgs
parents:
diff changeset
     4
* This component and the accompanying materials are made available
hgs
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
hgs
parents:
diff changeset
     6
* which accompanies this distribution, and is available
hgs
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
hgs
parents:
diff changeset
     8
*
hgs
parents:
diff changeset
     9
* Initial Contributors:
hgs
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
hgs
parents:
diff changeset
    11
*
hgs
parents:
diff changeset
    12
* Contributors:
hgs
parents:
diff changeset
    13
*
hgs
parents:
diff changeset
    14
* Description:  This module contains the implementation of CCbsEtelMessaging
hgs
parents:
diff changeset
    15
*                class member functions.
hgs
parents:
diff changeset
    16
*   
hgs
parents:
diff changeset
    17
*                CCbsEtelMessaging acts as a wrapper to RMobileBroadcastMessaging instance. 
hgs
parents:
diff changeset
    18
*
hgs
parents:
diff changeset
    19
*/
hgs
parents:
diff changeset
    20
hgs
parents:
diff changeset
    21
hgs
parents:
diff changeset
    22
hgs
parents:
diff changeset
    23
// INCLUDE FILES
hgs
parents:
diff changeset
    24
    /*******************************
hgs
parents:
diff changeset
    25
    *	Series 60 Customer / Etel
hgs
parents:
diff changeset
    26
    *	Series 60 Etel API
hgs
parents:
diff changeset
    27
    *******************************/
hgs
parents:
diff changeset
    28
#include <mmretrieve.h>
hgs
parents:
diff changeset
    29
#include "CCbsEtelMessaging.h"
hgs
parents:
diff changeset
    30
#include "CbsLogger.h"
hgs
parents:
diff changeset
    31
hgs
parents:
diff changeset
    32
// ================= MEMBER FUNCTIONS =======================
hgs
parents:
diff changeset
    33
hgs
parents:
diff changeset
    34
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
    35
// CCbsEtelMessaging::CCbsEtelMessaging
hgs
parents:
diff changeset
    36
// C++ default constructor can NOT contain any code, that
hgs
parents:
diff changeset
    37
// might leave.
hgs
parents:
diff changeset
    38
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
    39
//
hgs
parents:
diff changeset
    40
CCbsEtelMessaging::CCbsEtelMessaging()
hgs
parents:
diff changeset
    41
    {
hgs
parents:
diff changeset
    42
    }
hgs
parents:
diff changeset
    43
hgs
parents:
diff changeset
    44
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
    45
// CCbsEtelMessaging::ConstructL
hgs
parents:
diff changeset
    46
// Symbian 2nd phase constructor can leave.
hgs
parents:
diff changeset
    47
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
    48
//
hgs
parents:
diff changeset
    49
void CCbsEtelMessaging::ConstructL()
hgs
parents:
diff changeset
    50
    {    
hgs
parents:
diff changeset
    51
    }
hgs
parents:
diff changeset
    52
hgs
parents:
diff changeset
    53
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
    54
// CCbsEtelMessaging::NewL
hgs
parents:
diff changeset
    55
// Two-phased constructor.
hgs
parents:
diff changeset
    56
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
    57
//
hgs
parents:
diff changeset
    58
CCbsEtelMessaging* CCbsEtelMessaging::NewL()
hgs
parents:
diff changeset
    59
    {
hgs
parents:
diff changeset
    60
    CCbsEtelMessaging* self = new ( ELeave ) CCbsEtelMessaging;
hgs
parents:
diff changeset
    61
    CleanupStack::PushL( self );
hgs
parents:
diff changeset
    62
    self->ConstructL();
hgs
parents:
diff changeset
    63
    CleanupStack::Pop();    
hgs
parents:
diff changeset
    64
    return self;
hgs
parents:
diff changeset
    65
    }
hgs
parents:
diff changeset
    66
hgs
parents:
diff changeset
    67
    
hgs
parents:
diff changeset
    68
// Destructor
hgs
parents:
diff changeset
    69
        /*******************************
hgs
parents:
diff changeset
    70
        *	Series 60 Customer / Etel
hgs
parents:
diff changeset
    71
        *	Series 60 Etel API
hgs
parents:
diff changeset
    72
        *******************************/
hgs
parents:
diff changeset
    73
CCbsEtelMessaging::~CCbsEtelMessaging()
hgs
parents:
diff changeset
    74
    {
hgs
parents:
diff changeset
    75
    CBSLOGSTRING("CBSSERVER: >>> CCbsEtelMessaging::~CCbsEtelMessaging()");
hgs
parents:
diff changeset
    76
    iMessaging.Close();
hgs
parents:
diff changeset
    77
    CBSLOGSTRING("CBSSERVER: <<< CCbsEtelMessaging::~CCbsEtelMessaging()");
hgs
parents:
diff changeset
    78
    }   
hgs
parents:
diff changeset
    79
hgs
parents:
diff changeset
    80
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
    81
// CCbsEtelMessaging::Open
hgs
parents:
diff changeset
    82
// Opens an ETel messaging session.
hgs
parents:
diff changeset
    83
// (other items were commented in a header).
hgs
parents:
diff changeset
    84
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
    85
//
hgs
parents:
diff changeset
    86
        /*******************************
hgs
parents:
diff changeset
    87
        *	Series 60 Customer / Etel
hgs
parents:
diff changeset
    88
        *	Series 60 Etel API
hgs
parents:
diff changeset
    89
        *******************************/
hgs
parents:
diff changeset
    90
TInt CCbsEtelMessaging::Open( 
hgs
parents:
diff changeset
    91
    RMobilePhone& aPhone )
hgs
parents:
diff changeset
    92
    {
hgs
parents:
diff changeset
    93
    return iMessaging.Open( aPhone );
hgs
parents:
diff changeset
    94
    }
hgs
parents:
diff changeset
    95
hgs
parents:
diff changeset
    96
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
    97
// CCbsEtelMessaging::Close
hgs
parents:
diff changeset
    98
// Closes ETel messaging session.
hgs
parents:
diff changeset
    99
// (other items were commented in a header).
hgs
parents:
diff changeset
   100
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   101
//
hgs
parents:
diff changeset
   102
        /*******************************
hgs
parents:
diff changeset
   103
        *	Series 60 Customer / Etel
hgs
parents:
diff changeset
   104
        *	Series 60 Etel API
hgs
parents:
diff changeset
   105
        *******************************/
hgs
parents:
diff changeset
   106
void CCbsEtelMessaging::Close()
hgs
parents:
diff changeset
   107
    {
hgs
parents:
diff changeset
   108
    iMessaging.Close();
hgs
parents:
diff changeset
   109
    }
hgs
parents:
diff changeset
   110
hgs
parents:
diff changeset
   111
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   112
// CCbsEtelMessaging::ReceiveMessage
hgs
parents:
diff changeset
   113
// Requests forwarding of the next received CB message.
hgs
parents:
diff changeset
   114
// (other items were commented in a header).
hgs
parents:
diff changeset
   115
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   116
//
hgs
parents:
diff changeset
   117
        /*******************************
hgs
parents:
diff changeset
   118
        *	Series 60 Customer / Etel
hgs
parents:
diff changeset
   119
        *	Series 60 Etel API
hgs
parents:
diff changeset
   120
        *******************************/
hgs
parents:
diff changeset
   121
void CCbsEtelMessaging::ReceiveMessage(
hgs
parents:
diff changeset
   122
    TRequestStatus& aReqStatus, 
hgs
parents:
diff changeset
   123
    TDes8& aMsgData, 
hgs
parents:
diff changeset
   124
    TDes8& aMsgAttributes )
hgs
parents:
diff changeset
   125
    {
hgs
parents:
diff changeset
   126
    iMessaging.ReceiveMessage( aReqStatus, aMsgData, aMsgAttributes );
hgs
parents:
diff changeset
   127
    }
hgs
parents:
diff changeset
   128
hgs
parents:
diff changeset
   129
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   130
// CCbsEtelMessaging::ReceiveMessageCancel
hgs
parents:
diff changeset
   131
// Cancels an outstanding ReceiveMessage() request.
hgs
parents:
diff changeset
   132
// (other items were commented in a header).
hgs
parents:
diff changeset
   133
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   134
//
hgs
parents:
diff changeset
   135
        /*******************************
hgs
parents:
diff changeset
   136
        *	Series 60 Customer / Etel
hgs
parents:
diff changeset
   137
        *	Series 60 Etel API
hgs
parents:
diff changeset
   138
        *******************************/
hgs
parents:
diff changeset
   139
void CCbsEtelMessaging::ReceiveMessageCancel()
hgs
parents:
diff changeset
   140
    {
hgs
parents:
diff changeset
   141
    // Use the base class method to cancel    
hgs
parents:
diff changeset
   142
    iMessaging.CancelAsyncRequest( EMobileBroadcastMessagingReceiveMessage );
hgs
parents:
diff changeset
   143
    }
hgs
parents:
diff changeset
   144
hgs
parents:
diff changeset
   145
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   146
// CCbsEtelMessaging::SetFilterSetting
hgs
parents:
diff changeset
   147
// Sets CBS receive mode.
hgs
parents:
diff changeset
   148
// (other items were commented in a header).
hgs
parents:
diff changeset
   149
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   150
//
hgs
parents:
diff changeset
   151
        /*******************************
hgs
parents:
diff changeset
   152
        *	Series 60 Customer / Etel
hgs
parents:
diff changeset
   153
        *	Series 60 Etel API
hgs
parents:
diff changeset
   154
        *******************************/
hgs
parents:
diff changeset
   155
void CCbsEtelMessaging::SetFilterSetting(
hgs
parents:
diff changeset
   156
    TRequestStatus& aReqStatus, 
hgs
parents:
diff changeset
   157
    RMobileBroadcastMessaging::TMobilePhoneBroadcastFilter aSetting ) const
hgs
parents:
diff changeset
   158
    {
hgs
parents:
diff changeset
   159
    iMessaging.SetFilterSetting( aReqStatus, aSetting );
hgs
parents:
diff changeset
   160
    }
hgs
parents:
diff changeset
   161
hgs
parents:
diff changeset
   162
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   163
// CCbsEtelMessaging::SetFilterSettingCancel
hgs
parents:
diff changeset
   164
// Cancels active SetFilterSetting request.
hgs
parents:
diff changeset
   165
// (other items were commented in a header).
hgs
parents:
diff changeset
   166
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   167
//
hgs
parents:
diff changeset
   168
        /*******************************
hgs
parents:
diff changeset
   169
        *	Series 60 Customer / Etel
hgs
parents:
diff changeset
   170
        *	Series 60 Etel API
hgs
parents:
diff changeset
   171
        *******************************/
hgs
parents:
diff changeset
   172
void CCbsEtelMessaging::SetFilterSettingCancel()
hgs
parents:
diff changeset
   173
    {
hgs
parents:
diff changeset
   174
    // Use the base class method to cancel
hgs
parents:
diff changeset
   175
    iMessaging.CancelAsyncRequest( EMobileBroadcastMessagingSetFilterSetting );
hgs
parents:
diff changeset
   176
    }
hgs
parents:
diff changeset
   177
hgs
parents:
diff changeset
   178
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   179
// CCbsEtelMessaging::GetFilterSetting
hgs
parents:
diff changeset
   180
// Retrieves the current CBS receive mode.
hgs
parents:
diff changeset
   181
// (other items were commented in a header).
hgs
parents:
diff changeset
   182
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   183
//
hgs
parents:
diff changeset
   184
        /*******************************
hgs
parents:
diff changeset
   185
        *	Series 60 Customer / Etel
hgs
parents:
diff changeset
   186
        *	Series 60 Etel API
hgs
parents:
diff changeset
   187
        *******************************/
hgs
parents:
diff changeset
   188
TInt CCbsEtelMessaging::GetFilterSetting(
hgs
parents:
diff changeset
   189
    RMobileBroadcastMessaging::TMobilePhoneBroadcastFilter& aSetting )
hgs
parents:
diff changeset
   190
    {
hgs
parents:
diff changeset
   191
    return iMessaging.GetFilterSetting( aSetting );
hgs
parents:
diff changeset
   192
    }
hgs
parents:
diff changeset
   193
hgs
parents:
diff changeset
   194
// ========================== OTHER EXPORTED FUNCTIONS =========================
hgs
parents:
diff changeset
   195
hgs
parents:
diff changeset
   196
//	End of File