connectivitylayer/isce/isinameservice_dll/inc/isinameservice.h
author mikaruus <mika.a.ruuskanen@nokia.com>
Wed, 17 Feb 2010 13:58:55 +0200
changeset 7 fa67e03b87df
parent 5 8ccc39f9d787
child 9 8486d82aef45
permissions -rw-r--r--
New release based on our 2010wk08 release

/*
* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of the License "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:
*
*/


#ifndef __ISINAMESERVICE_H__
#define __ISINAMESERVICE_H__

#include "misirouterobjectif.h"
#include "misicommunicationmanagerif.h"

class MISIObjectRouterIf;
class DNameRecords;

/*
* ISI router.
*/
NONSHARABLE_CLASS( DISINameService ) : public DBase, public MISIRouterObjectIf, public MISICommunicationManagerIf
    {

    public:

        /*
        * Default contructor
        */
        DISINameService();

        /*
        * Destructor
        */
        ~DISINameService();

        /*
        * See comments from MISIRouterObjectIf
        */
        void Receive( const TDesC8& aMessage );

        void HandlePNSNameMessage( const TDesC8& aMessage );
        void HandleNameQueryResp( const TDesC8& aMessage, const TUint8* msgPtr );
        void HandleNameRemoveResp( const TDesC8& aMessage, const TUint8* msgPtr );

        /*
        * See comments from MISICommunicationManagerIf
        */
        static TBool IsValidResource( const TDesC8& aMessage );

        /*
        * Construct COMM_ISA_ENTITY_NOT_REACHABLE_RESP message and
        * send message to router.
        */
        void BuildAndSendCommIsaEntityNotReachableResp( const TDesC8& aMsg );

        static DISINameService* iThisptr;

        static DMutex*      iNameServiceMutex;

        DNameRecords*       iNameRecords;

    private:

        MISIObjectRouterIf* iRouter;
        TUint8              iObjId;
        

    };

#endif /* __ISINAMESERVICE_H__ */