diff -r d6dafc5d983f -r 1627c337e51e javaextensions/midppush/pushregistryplugin/inc/pushregistryhandler.h --- a/javaextensions/midppush/pushregistryplugin/inc/pushregistryhandler.h Fri Oct 15 12:29:39 2010 +0300 +++ b/javaextensions/midppush/pushregistryplugin/inc/pushregistryhandler.h Fri Oct 29 11:49:32 2010 +0300 @@ -63,7 +63,7 @@ /** * This class implements ExtensionPlugin interface of Java Manager. - * I.e. this class is starting point for all push related tasks in the + * I.e. this class is a starting point for all push related tasks in the * Java Captain process. */ OS_NONSHARABLE_CLASS(PushRegistryHandler) : public java::captain::ExtensionPluginInterface, @@ -162,6 +162,39 @@ int readIntArg(java::comms::CommsMessage& aMsg,const std::string& aMsgName); long long readLongLongArg(CommsMessage& aMsg,const std::string& aMsgName); + //Internal utility classes. + + /** + * This "function object" class is used as an "comparison object" + * when all driveInfo objects, which has equal root path, is removed from + * mDriveInfo vector container. This wrapper class is needed because + * we did not wanted to add operator() method to fileutils::driveInfo struct. + */ + class DriveInfoComparisonUtil + { + public: + DriveInfoComparisonUtil(const java::fileutils::driveInfo& aInfo) + : mObj(aInfo) {} + + ~DriveInfoComparisonUtil(){} + + DriveInfoComparisonUtil(const DriveInfoComparisonUtil& x) + :mObj(x.mObj){} + + bool operator()(const java::fileutils::driveInfo& x) + { + if (mObj.iRootPath == x.iRootPath) + return true; + return false; + } + + private: + const java::fileutils::driveInfo& mObj; + + //Not implemented. + DriveInfoComparisonUtil &operator=(const DriveInfoComparisonUtil& x); + }; + //Not implemented. PushRegistryHandler(const PushRegistryHandler &x); PushRegistryHandler &operator=(const PushRegistryHandler &x);