--- /dev/null
+#include <creaImageIOListener.h>
+#include <creaImageIOSystem.h>
+#include "boost/filesystem.hpp"
+#include <boost/filesystem/operations.hpp>
+#include <boost/utility.hpp>
+
+
+namespace fs = boost::filesystem;
+using boost::filesystem::path;
+
+using namespace crea;
+
+namespace creaImageIO
+{
+ //=====================================================================
+ // CTor
+ Listener::Listener()
+ {
+ wxMutexLocker lock(mMutex);
+ GimmickDebugMessage(6,"Listener::Listener"
+ <<std::endl);
+ mDrive="E:";
+ mMounted=false;
+ mAddFiles=false;
+ mRemoveFiles=true;
+
+ }
+ //=====================================================================
+
+ //=====================================================================
+ /// Destructor
+ Listener::~Listener()
+ {
+ wxMutexLocker lock(mMutex);
+ GimmickDebugMessage(6,"Listener::~Listener"
+ <<std::endl);
+ }
+ //=====================================================================
+
+ void* Listener::Entry()
+ {
+ GimmickDebugMessage(6,"Listener::Entry()"<<std::endl);
+ while(!TestDestroy())
+ {
+ try
+ {
+ fs::exists( mDrive );
+ if(!mMounted && mAddFiles)
+ {
+ mMounted=true;
+ SendSignal(mMounted);
+ }
+ else if(!mMounted)
+ {
+ mMounted=true;
+ }
+
+ }
+ catch (...)
+ {
+ if(mMounted && mRemoveFiles)
+ {
+ mMounted=false;
+ SendSignal(mMounted);
+ }
+ else if(mMounted)
+ {
+ mMounted=false;
+ }
+ }
+
+ clock_t endwait;
+ endwait = clock () + 0.00000001 * CLOCKS_PER_SEC ;
+ while (clock() < endwait ) {}
+
+ }
+ return 0;
+ }
+
+ //=====================================================================
+
+ //=====================================================================
+ void Listener::OnExit()
+ {
+ GimmickDebugMessage(6,"Listener::OnExit() "<<std::endl);
+ }
+
+ //====================================================================
+ void Listener::ConnectObserver(MountingCallbackType callback)
+ {
+ mMountingSignal.connect(callback);
+ }
+
+ //======================================================================
+ void Listener::SendSignal(bool mount)
+ {
+ mMountingSignal(mount);
+ }
+
+
+
+
+} // EO namespace creaImageIO
+