/** Copyright (c) 2007 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: **/#ifndef CUDPCRLFSENDER_H#define CUDPCRLFSENDER_H// INCLUDES#include "ccrlfsender.h"#include "nattraversalsocketuser.h"// FORWARD DECLARATIONSclass MNATTraversalSocketManager;// CLASS DECLARATION/*** A class for sending CRLF bursts to network using UDP socket.*/class CUdpCRLFSender : public CCRLFSender, public MNATTraversalSocketUser { public: // Constructors and destructor CUdpCRLFSender( RSocket& aSocket, const TInetAddr& aAddr, MNATBindingRefresherObserver& aObserver, MNATTraversalSocketManager& aSocketManager ); ~CUdpCRLFSender(); public: // From CCRLFSender TBool PersistentConnectionRequired() const; TBool HasSocket( const RSocket& aSocket ) const; public: // From MNATTraversalSocketUser const RSocket& Socket() const; void SendingAllowed(); TBool IsSending() const; void CancelSending(); protected: // From CActive void DoCancel(); protected: // From CCRLFSender void Send( const TDesC8& aData ); TBool ReadyToSend(); void SendingCompleted(); private: // Data RSocket& iSocket; TInetAddr iAddr; MNATTraversalSocketManager& iSocketManager; TBool iAllowedToSend; };#endif // CUDPCRLFSENDER_H// End of File