cbs/CbsServer/ClientSrc/RCbsTopicList.cpp
changeset 46 2fa1fa551b0b
parent 42 35488577e233
child 48 78df25012fda
--- a/cbs/CbsServer/ClientSrc/RCbsTopicList.cpp	Mon Aug 23 15:50:31 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,416 +0,0 @@
-/*
-* Copyright (c) 2003 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  This module contains the implementation of RCbsTopicList class 
-                 member functions.
-*
-*/
-
-
-
-// INCLUDE FILES
-
-#include "CbsServerConstants.h"
-#include "RCbs.h"
-#include "RCbsTopicList.h"
-
-// ================= MEMBER FUNCTIONS =======================
-
-// -----------------------------------------------------------------------------
-// RCbsTopicList::RCbsTopicList
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-RCbsTopicList::RCbsTopicList()
-    : iNotifyEventPtr( NULL, 0, 0 ), 
-    iNotifyHandlePtr( NULL, 0, 0 )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// RCbsTopicList::Open
-// Creates a subsession to the server.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TInt RCbsTopicList::Open( 
-    RCbs& aServer )
-    {
-    const TIpcArgs args( TIpcArgs::ENothing );
-    return CreateSubSession( aServer, ECbsCreateTopicListSubsession, args );
-    }
-
-// -----------------------------------------------------------------------------
-// RCbsTopicList::Close
-// Closes the subsession and connection to the server.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//  
-TInt RCbsTopicList::Close()
-    {
-    // Close the subsession.
-    RSubSessionBase::CloseSubSession( ECbsCloseTopicListSubsession );
-    return KErrNone;
-    }
-
-// -----------------------------------------------------------------------------
-// RCbsTopicList::GetTopicCount
-// Returns the total amount of topics the topic list contains.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void RCbsTopicList::GetTopicCount( 
-    TInt& aCount )
-    {
-    // Send request to the server. Get the total amount of topics.
-    aCount = 0;
-    TPckgBuf< TInt > pckg( aCount );
-    const TIpcArgs args( &pckg );
-
-    TInt result = SendReceive( ECbsGetTopicCount, args );
-    // In case everything went just fine update the parameter!
-    if ( result == KErrNone )
-        {
-        aCount = pckg();
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// RCbsTopicList::GetTopic
-// Returns information about a topic from the topic list.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TInt RCbsTopicList::GetTopic( 
-    const TInt aIndex, 
-    TCbsTopic& aTopic )
-    {
-    TPckgBuf< TCbsTopic > pckgTopic;
-    const TIpcArgs args( aIndex, &pckgTopic );
-
-    TInt result = SendReceive( ECbsGetTopic, args );
-
-    // Update if everything went just fine
-    if ( result == KErrNone )
-        {
-        aTopic = pckgTopic();
-        }
-
-    return result;
-    }
-
-// -----------------------------------------------------------------------------
-// RCbsTopicList::FindTopicByNumber
-// Finds the topic by given number.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//  
-TInt RCbsTopicList::FindTopicByNumber( 
-    TCbsTopicNumber aNumber, 
-    TCbsTopic& aTopic )
-    {
-    TPckgBuf< TCbsTopic > pckgTopic;
-    const TIpcArgs args( aNumber, &pckgTopic );
-
-    TInt result = SendReceive( ECbsFindTopicByNumber, args );
-
-    // Update aTopic if everything went just fine.
-    if ( result == KErrNone )
-        {
-        aTopic = pckgTopic();
-        }
-
-    return result;
-    }
-
-// -----------------------------------------------------------------------------
-// RCbsTopicList::DeleteTopic
-// Deletes an existing topic.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//  
-TInt RCbsTopicList::DeleteTopic( 
-    TCbsTopicNumber aNumber )
-    {
-    // Send request to the server to delete a topic by handle    
-    const TIpcArgs args( aNumber );
-    return SendReceive( ECbsDeleteTopic, args );
-    }
-
-// -----------------------------------------------------------------------------
-// RCbsTopicList::DeleteAllTopics
-// Delete all topics.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//  
-TInt RCbsTopicList::DeleteAllTopics()
-    {
-    const TIpcArgs args( TIpcArgs::ENothing );
-    return SendReceive( ECbsDeleteAll, args );
-    }
-
-// -----------------------------------------------------------------------------
-// RCbsTopicList::AddTopic
-// Adds a new topic.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TInt RCbsTopicList::AddTopic( 
-    TCbsTopic& aTopic )
-    {
-    // Send request to add a topic to the list.
-    TPckgBuf< TCbsTopic > pckgTopic( aTopic );
-    const TIpcArgs args( &pckgTopic );
-
-    TInt result = SendReceive( ECbsAddTopic, args );
-
-    if ( result == KErrNone )
-        {
-        // Update the topic information (only handle).
-        aTopic = pckgTopic();    
-        }
-
-    return result;
-    }
-
-// -----------------------------------------------------------------------------
-// RCbsTopicList::ChangeTopicNameAndNumber
-// Changes the name and number of the existing topic.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TInt RCbsTopicList::ChangeTopicNameAndNumber( 
-    TCbsTopicNumber aOldNumber, 
-    TCbsTopicNumber aNewNumber, 
-    const TCbsTopicName& aName )
-    {
-    // Send request to the server
-    const TIpcArgs args( aOldNumber, aNewNumber, &aName );
-    return SendReceive( ECbsChangeTopicNameAndNumber, args );
-    }
-
-// -----------------------------------------------------------------------------
-// RCbsTopicList::ChangeTopicSubscriptionStatus
-// Changes topic subscription status.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TInt RCbsTopicList::ChangeTopicSubscriptionStatus( 
-     TCbsTopicNumber aNumber, 
-     TBool aNewStatus )
-    {
-    // Send request to the server
-    TPckgBuf< TBool > pckgStatus( aNewStatus );
-    const TIpcArgs args( aNumber, &pckgStatus );
-    return SendReceive( ECbsChangeTopicSubscriptionStatus, args );
-    }
-
-// -----------------------------------------------------------------------------
-// RCbsTopicList::ChangeTopicHotmarkStatus
-// Changes topic hotmark status.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TInt RCbsTopicList::ChangeTopicHotmarkStatus( 
-     TCbsTopicNumber aNumber, 
-     TBool aNewStatus )
-    {
-    // Send request to the server
-    TPckgBuf< TBool > pckgStatus( aNewStatus );
-    const TIpcArgs args( aNumber, &pckgStatus );
-    return SendReceive( ECbsChangeTopicHotmarkStatus, args );
-    }
-
-// -----------------------------------------------------------------------------
-// RCbsTopicList::NotifyOnEvent
-// Requests the server to notify the client whenever an event occurs that 
-// changes the information of the topics.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void RCbsTopicList::NotifyOnEvent( 
-    TRequestStatus& aStatus, 
-    const TInt aRequested, 
-    TCbsTopicListEvent& aEvent, 
-    TCbsTopicNumber& aHandle )
-    {
-    // Send request for the notify
-    iNotifyEventPtr.Set( reinterpret_cast< TText8* >( &aEvent ), 
-                         sizeof( TCbsTopicListEvent ),
-                         sizeof( TCbsTopicListEvent ) );
-    iNotifyHandlePtr.Set( reinterpret_cast< TText8* >( &aHandle ), 
-                         sizeof( TCbsTopicNumber ),
-                         sizeof( TCbsTopicNumber ) );
-
-    const TIpcArgs args( aRequested, &iNotifyEventPtr, &iNotifyHandlePtr );
-    SendReceive( ECbsNotifyOnEvent, args, aStatus );
-    }
-
-// -----------------------------------------------------------------------------
-// RCbsTopicList::NotifyOnEventCancel
-// Cancels the pending notify request.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void RCbsTopicList::NotifyOnEventCancel()
-    {
-    const TIpcArgs args( TIpcArgs::ENothing );
-    SendReceive( ECbsNotifyOnEventCancel, args );
-    }
-
-// -----------------------------------------------------------------------------
-// RCbsTopicList::GetNewTopicsCount
-// Returns the number of session-specific new topics and resets the counter.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TInt RCbsTopicList::GetNewTopicsCount( 
-    TInt& aCount )
-    {
-    // Send request to the server to get the total amount of new topics
-    aCount = 0;
-    TPckgBuf<TInt> pckg( aCount );
-    const TIpcArgs args( &pckg );
-
-    TInt result( SendReceive( ECbsGetNewTopicsCount, args ) );
-
-    if ( result == KErrNone )
-        {
-        aCount = pckg();
-        }
-
-    return result;
-    }
-
-// -----------------------------------------------------------------------------
-// RCbsTopicList::GetLatestTopicNumber
-// Returns the latest topic's number.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TInt RCbsTopicList::GetLatestTopicNumber( 
-    TCbsTopicNumber& aNumber )
-    {
-    aNumber = 0;
-    TPckgBuf<TCbsTopicNumber> pckg( aNumber );
-    const TIpcArgs args( &pckg );
-
-    TInt result( SendReceive( ECbsGetLatestTopicNumber, args ) );
-
-    if ( result == KErrNone )
-        {
-        aNumber = pckg();
-        }
-    return result;
-    }
-
-// -----------------------------------------------------------------------------
-// RCbsTopicList::GetUnreadMessageCount
-// Returns the total amount of unread messages.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-void RCbsTopicList::GetUnreadMessageCount( 
-    TInt& aCount )
-    {
-    // Send request to the server to get the total amount of unread messages
-    TPckgBuf<TInt> pckg( aCount );
-    const TIpcArgs args( &pckg );
-
-    TInt result = SendReceive( ECbsGetUnreadMessageCount, args );
-
-    // In case everything went just fine update the parameter
-    if ( result == KErrNone )
-        {
-        aCount = pckg();
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// RCbsTopicList::GetHotmarkedMessageHandle
-// Returns the handle to the latest hotmarked message that has been
-// received after the system has started up.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-// 
-void RCbsTopicList::GetHotmarkedMessageHandle( 
-    TCbsMessageHandle& aMessage )
-    {
-    // Send request to the server to get the handle to the hotmarked message
-    TPckgBuf<TCbsMessageHandle> pckgMessageHandle( aMessage );
-    const TIpcArgs args( &pckgMessageHandle );
-
-    TInt result = SendReceive( ECbsGetHotmarkedMessageHandle, args );
-
-    if ( result == KErrNone )
-        {
-        aMessage = pckgMessageHandle();
-        }
-    else
-        {
-        aMessage = 0;
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// RCbsTopicList::NumberOfUnreadHotmarkedMessages
-// Returns the number of unread messages in hotmarked topics.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-// 
-TInt RCbsTopicList::NumberOfUnreadHotmarkedMessages() 
-    {
-    TInt hotMsgCount( 0 );
-    TPckgBuf<TInt> pckgHotMsgCount;    
-    const TIpcArgs args( &pckgHotMsgCount );
-
-    if ( SendReceive( ECbsGetUnreadHotmarkedMessageCount, args ) == KErrNone )
-        {
-        hotMsgCount = pckgHotMsgCount();
-        }
-
-    return hotMsgCount;
-    }
-
-// -----------------------------------------------------------------------------
-// RCbsTopicList::GetNextAndPrevTopicNumber
-// Returns the numbers of topics that precede and succeed the given 
-// topic in server-side topic list.
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-// 
-TInt RCbsTopicList::GetNextAndPrevTopicNumber( 
-	const TCbsTopicNumber& aCurrentTopicNumber,
-	TCbsTopicNumber& aPrevTopicNumber,
-	TCbsTopicNumber& aNextTopicNumber,
-	TInt& aPosition )
-    {
-    TPckgBuf<TCbsTopicNumber> pckgCurrentTopic( aCurrentTopicNumber );
-    TPckgBuf<TCbsNextPrevTopicAndPosition> pckgResults;
-
-    const TIpcArgs args( &pckgCurrentTopic, &pckgResults );
-
-    TInt result( SendReceive( ECbsGetNextAndPrevTopicNumber, args ) );
-    if ( result == KErrNone )
-        {
-        aPrevTopicNumber = pckgResults().iPrevTopic;
-        aNextTopicNumber = pckgResults().iNextTopic;
-        aPosition = pckgResults().iPosition;
-        }
-    return result;
-    }
-
-// ================= OTHER EXPORTED FUNCTIONS ==============
-
-//  End of File