creaImageIO_lib
Main Page
Modules
Namespaces
Classes
Files
File List
File Members
creaImageIOListener.h
Go to the documentation of this file.
1
/*
2
# ---------------------------------------------------------------------
3
#
4
# Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image
5
# pour la Santé)
6
# Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton
7
# Previous Authors : Laurent Guigues, Jean-Pierre Roux
8
# CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil
9
#
10
# This software is governed by the CeCILL-B license under French law and
11
# abiding by the rules of distribution of free software. You can use,
12
# modify and/ or redistribute the software under the terms of the CeCILL-B
13
# license as circulated by CEA, CNRS and INRIA at the following URL
14
# http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html
15
# or in the file LICENSE.txt.
16
#
17
# As a counterpart to the access to the source code and rights to copy,
18
# modify and redistribute granted by the license, users are provided only
19
# with a limited warranty and the software's author, the holder of the
20
# economic rights, and the successive licensors have only limited
21
# liability.
22
#
23
# The fact that you are presently reading this means that you have had
24
# knowledge of the CeCILL-B license and that you accept its terms.
25
# ------------------------------------------------------------------------
26
*/
27
28
29
#ifndef __creaImageIOListener_h_INCLUDED__
30
#define __creaImageIOListener_h_INCLUDED__
31
32
#include <
creaImageIOSystem.h
>
33
#include <stdio.h>
34
#include <time.h>
35
#include <wx/thread.h>
36
// Signal/slot mechanism
37
#include <boost/signal.hpp>
38
#include <boost/bind.hpp>
39
#include <boost/thread/mutex.hpp>
40
41
namespace
creaImageIO
42
{
43
44
class
Listener
:
public
wxThread
45
{
46
public
:
48
Listener
();
50
virtual
~Listener
();
52
void
*
Entry
();
54
void
OnExit
();
56
void
SetAddFilesState
(
bool
addFiles){boost::mutex::scoped_lock lock(
mMutex
);
mAddFiles
=addFiles;}
58
void
SetRemoveFilesState
(
bool
removeFiles){boost::mutex::scoped_lock lock(
mMutex
);
mRemoveFiles
=removeFiles;}
60
void
SetMonitoredDrive
(
const
std::string& dr){boost::mutex::scoped_lock lock(
mMutex
);
mDrive
=dr;}
62
void
GetMonitoredDrive
(std::string& drive){drive=
mDrive
;}
63
65
//=============================================
66
typedef
boost::signal<void (bool)>
MountingSignalType
;
67
typedef
MountingSignalType::slot_function_type
MountingCallbackType
;
68
//=============================================
69
70
//==================================================================
71
void
ConnectObserver
(
MountingCallbackType
callback);
72
//==================================================================
73
75
void
SendSignal
(
bool
ivalid);
76
77
78
private
:
80
boost::mutex
mMutex
;
82
bool
mAddFiles
;
84
bool
mRemoveFiles
;
86
bool
mMounted
;
88
std::string
mDrive
;
90
MountingSignalType
mMountingSignal
;
91
};
92
93
}
94
95
#endif
creatools_source
creaImageIO
src
creaImageIOListener.h
Generated by
1.8.3.1