www.pudn.com > S60_Platform_Bluetooth_OBEX_Example.rar > objectexchangeserviceadvertiser.cpp


/* Copyright (c) 2004, Nokia. All rights reserved */ 
 
 
// INCLUDE FILES 
#include  
#include  
#include  
 
#include "ObjectExchangeServiceAdvertiser.h" 
#include "ObjectExchangeProtocolConstants.h" 
 
// ============================ MEMBER FUNCTIONS ============================== 
 
// ---------------------------------------------------------------------------- 
// CObjectExchangeServiceAdvertiser::NewL() 
// Two-phased constructor. 
// ---------------------------------------------------------------------------- 
// 
CObjectExchangeServiceAdvertiser* CObjectExchangeServiceAdvertiser::NewL() 
    { 
    CObjectExchangeServiceAdvertiser* self =  
        CObjectExchangeServiceAdvertiser::NewLC(); 
    CleanupStack::Pop( self ); 
    return self; 
    } 
 
// ---------------------------------------------------------------------------- 
// CObjectExchangeServiceAdvertiser::NewLC() 
// Two-phased constructor. 
// ---------------------------------------------------------------------------- 
// 
CObjectExchangeServiceAdvertiser* CObjectExchangeServiceAdvertiser::NewLC() 
    { 
    CObjectExchangeServiceAdvertiser* self = new (  
        ELeave ) CObjectExchangeServiceAdvertiser(); 
    CleanupStack::PushL( self ); 
    self->ConstructL(); 
    return self; 
    } 
 
// ---------------------------------------------------------------------------- 
// CObjectExchangeServiceAdvertiser::ConstructL() 
// Symbian 2nd phase constructor can leave. 
// ---------------------------------------------------------------------------- 
// 
void CObjectExchangeServiceAdvertiser::ConstructL() 
    { 
    // Load string data from RSS 
    iServiceDescription = StringLoader::LoadL( R_BTOB_SERVICE_DESCRIPTION ); 
    }     
 
// ---------------------------------------------------------------------------- 
// CObjectExchangeServiceAdvertiser::CObjectExchangeServiceAdvertiser() 
// Constructor. 
// ---------------------------------------------------------------------------- 
// 
CObjectExchangeServiceAdvertiser::CObjectExchangeServiceAdvertiser() 
    { 
    // no implementation required 
    } 
 
// ---------------------------------------------------------------------------- 
// CObjectExchangeServiceAdvertiser::~CObjectExchangeServiceAdvertiser() 
// Destructor. 
// ---------------------------------------------------------------------------- 
// 
CObjectExchangeServiceAdvertiser::~CObjectExchangeServiceAdvertiser() 
    { 
 
    // Delete private member 
    delete iServiceDescription; 
    } 
 
// ---------------------------------------------------------------------------- 
// CObjectExchangeServiceAdvertiser::BuildProtocolDescriptionL() 
// Builds the protocol description. 
// ---------------------------------------------------------------------------- 
// 
void CObjectExchangeServiceAdvertiser 
::BuildProtocolDescriptionL( CSdpAttrValueDES* aProtocolDescriptor,  
                            TInt aPort ) 
    { 
    TBuf8<1> channel; 
    channel.Append( ( TChar )aPort ); 
 
    aProtocolDescriptor 
    ->StartListL()   //  List of protocols required for this method 
        ->BuildDESL() 
        ->StartListL()   //  Details of lowest level protocol 
            ->BuildUUIDL( KL2CAP ) 
        ->EndListL() 
 
        ->BuildDESL() 
        ->StartListL() 
            ->BuildUUIDL( KRFCOMM ) 
            ->BuildUintL( channel ) 
        ->EndListL() 
 
        ->BuildDESL() 
        ->StartListL() 
            ->BuildUUIDL( KBtProtocolIdOBEX ) 
        ->EndListL() 
    ->EndListL(); 
    } 
 
// ---------------------------------------------------------------------------- 
// CObjectExchangeServiceAdvertiser::ServiceName() 
// ---------------------------------------------------------------------------- 
// 
const TDesC& CObjectExchangeServiceAdvertiser::ServiceName() 
    { 
    return KServiceName; 
    } 
 
// ---------------------------------------------------------------------------- 
// CObjectExchangeServiceAdvertiser::ServiceDescription() 
// ---------------------------------------------------------------------------- 
// 
const TDesC& CObjectExchangeServiceAdvertiser::ServiceDescription() 
    { 
     return *iServiceDescription; 
    } 
 
// ---------------------------------------------------------------------------- 
// CObjectExchangeServiceAdvertiser::ServiceClass() 
// ---------------------------------------------------------------------------- 
// 
const TInt CObjectExchangeServiceAdvertiser::ServiceClass() 
    { 
    return KServiceClass; 
    } 
 
// End of File