examples/NFC/nfcshareexample/nfcaiwengine.h

00001 /*
00002  * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). All rights reserved.
00003  *  
00004  * Redistribution and use in source and binary forms, with or without
00005  * modification, are permitted provided that the following conditions are met:
00006  * 
00007  * Redistributions of source code must retain the above copyright notice, this
00008  *  list of conditions and the following disclaimer.
00009  * Redistributions in binary form must reproduce the above copyright notice,
00010  *   this list of conditions and the following disclaimer in the documentation
00011  *   and/or other materials provided with the distribution.
00012  * Neither the name of Nokia Corporation nor the names of its contributors
00013  *  may be used to endorse or promote products derived from this software
00014  * without specific prior written permission.
00015  *
00016  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
00017  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00018  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
00019  * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
00020  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
00021  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
00022  * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
00023  * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
00024  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00025  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00026  *
00027  * Description:  Header file of nfc AIW handler engine class.
00028  * 
00029  */
00030 
00031 #ifndef __NFCAIWENGINE_H__
00032 #define __NFCAIWENGINE_H__
00033 
00034 
00035 // System Include Files
00036 #include <AiwCommon.h>
00037 #include <AiwCommon.hrh>
00038 #include <AiwServiceHandler.h>
00039 #include <AiwGenericParam.h>
00040 
00041 // User Include Files.
00042 #include "nfcshareconst.h"
00043 
00044 // Forward declarations.
00045 class NfcShareWrapper;
00046 
00047 /*
00048  * This class implements AIW framework notify call back handler method,
00049  * easy sharing service setup and sharing of files(vCard, vCal). 
00050  */
00051 class CNfcAiwEngine : public CBase, public MAiwNotifyCallback
00052     {
00053 public:
00054     static CNfcAiwEngine* NewL( NfcShareWrapper* aNfcShareWrapper);
00055     static CNfcAiwEngine* NewLC( NfcShareWrapper* aNfcShareWrapper);
00056     virtual ~CNfcAiwEngine();
00057     
00058     TInt StartEasySetupServiceL();
00059     void StopServiceL();
00060     TInt StartSharingServiceL(NfcSharingType aSharingType);
00061     
00062     // From MAiwNotifyCallback.
00063     TInt HandleNotifyL(
00064         TInt aCmdId,
00065         TInt aEventId,
00066         CAiwGenericParamList& aEventParamList,
00067         const CAiwGenericParamList& aInParamList);
00068       
00069 private:
00070     void ConstructL();
00071     CNfcAiwEngine(NfcShareWrapper* aNfcShareWrapper);
00072     TInt DoCommandL( const TDesC& aFileName, TInt error );
00073     
00074 public:
00075     // Pointer to wrapper class to emit signals.
00076     NfcShareWrapper* iNfcShareWrapper; 
00077     
00078 private:
00079     CAiwServiceHandler* iAiwServiceHandler; // Pointer to AIW service handler.
00080     RFs iFs;  // File system handle.
00081     RFile iFile; // File handle of shared file.
00082     NfcSharingType iSharingType; // Type of sharing.
00083     };
00084 
00085 #endif  // __NFCAIWENGINE_H__
00086 

Generated by  doxygen 1.6.2