browserutilities/feedsengine/FeedsServer/Server/src/FeedsServer.cpp
branchRCL_3
changeset 70 8bfb9186a8b8
parent 37 cb62a4f66ebe
child 93 79859ed3eea9
equal deleted inserted replaced
67:4917f9bf7995 70:8bfb9186a8b8
    29 #include "BackRestoreHandler.h"
    29 #include "BackRestoreHandler.h"
    30 #include "UpdateManager.h" 
    30 #include "UpdateManager.h" 
    31 
    31 
    32 //  CONSTANTS
    32 //  CONSTANTS
    33 _LIT(KFeedsServerPanic, "FeedsServer");
    33 _LIT(KFeedsServerPanic, "FeedsServer");
    34 
    34 // opml files are generally smaller in size.But if a malformed opml 
       
    35 // greater than 400kB would cause the system to be irresponsive.
       
    36 // So limit the max size to 400 kB
       
    37 const TInt KMaxOPMLFileSize = 409600;
    35 //_LIT(KFileSchema, "file://c:");
    38 //_LIT(KFileSchema, "file://c:");
    36 _LIT(KDefaultFeed, "default_feeds.xml");
    39 _LIT(KDefaultFeed, "default_feeds.xml");
    37 
    40 
    38 _LIT(KDefaultOPMLFileParam, "");
    41 _LIT(KDefaultOPMLFileParam, "");
    39 
    42 
   383     TPtr8           bufferPtr(NULL, 0);
   386     TPtr8           bufferPtr(NULL, 0);
   384     CPackedFolder*  packedFolder = NULL;
   387     CPackedFolder*  packedFolder = NULL;
   385 
   388 
   386     // Read file
   389     // Read file
   387     User::LeaveIfError(aFile.Size(size));
   390     User::LeaveIfError(aFile.Size(size));
   388 
   391     if ( size > KMaxOPMLFileSize )
       
   392         {
       
   393         User::Leave(KErrCorrupt);	
       
   394         }
   389     buffer = HBufC8::NewLC(size);
   395     buffer = HBufC8::NewLC(size);
   390     bufferPtr.Set(buffer->Des());
   396     bufferPtr.Set(buffer->Des());
   391 
   397 
   392     User::LeaveIfError(aFile.Read(bufferPtr, size));
   398     User::LeaveIfError(aFile.Read(bufferPtr, size));
   393 
   399 
   556 // -----------------------------------------------------------------------------
   562 // -----------------------------------------------------------------------------
   557 //
   563 //
   558 void CFeedsServer::ScheduleUpdateManagerL()
   564 void CFeedsServer::ScheduleUpdateManagerL()
   559     {
   565     {
   560     RArray<TInt>     folderListIds;
   566     RArray<TInt>     folderListIds;
       
   567 	CleanupClosePushL(folderListIds);
   561     TBool    autoUpdate = EFalse;
   568     TBool    autoUpdate = EFalse;
   562     TInt     autoUpdateFreq = 0;
   569     TInt     autoUpdateFreq = 0;
   563     TUint32  autoUpdateAP = 0;
   570     TUint32  autoUpdateAP = 0;
   564 	TBool    autoUpdateWhileRoaming = EFalse;
   571 	TBool    autoUpdateWhileRoaming = EFalse;
   565     
   572     
   574                 {
   581                 {
   575                 ScheduleUpdateManagerL( folderListIds[i], autoUpdate, autoUpdateFreq, autoUpdateAP, autoUpdateWhileRoaming );
   582                 ScheduleUpdateManagerL( folderListIds[i], autoUpdate, autoUpdateFreq, autoUpdateAP, autoUpdateWhileRoaming );
   576                 }
   583                 }
   577             }
   584             }
   578         }
   585         }
       
   586     
       
   587     CleanupStack::PopAndDestroy(); //folderListIds
   579     }
   588     }
   580 
   589 
   581 // -----------------------------------------------------------------------------
   590 // -----------------------------------------------------------------------------
   582 // CFeedsServer::ScheduleUpdateManagerL
   591 // CFeedsServer::ScheduleUpdateManagerL
   583 //
   592 //