javaextensions/midppush/pushregistryplugin/inc/pushregistryhandler.h
changeset 87 1627c337e51e
parent 21 2a9601315dfc
--- 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);