![]() |
TerraLib 4.1
|
00001 /* 00002 TerraLib - a library for developing GIS applications. 00003 Copyright 2001, 2002, 2003 INPE and Tecgraf/PUC-Rio. 00004 00005 This code is part of the TerraLib library. 00006 This library is free software; you can redistribute it and/or 00007 modify it under the terms of the GNU Lesser General Public 00008 License as published by the Free Software Foundation; either 00009 version 2.1 of the License, or (at your option) any later version. 00010 00011 You should have received a copy of the GNU Lesser General Public 00012 License along with this library. 00013 00014 The authors reassure the license terms regarding the warranties. 00015 They specifically disclaim any warranties, including, but not limited to, 00016 the implied warranties of merchantability and fitness for a particular 00017 purpose. The library provided hereunder is on an "as is" basis, and the 00018 authors have no obligation to provide maintenance, support, updates, 00019 enhancements, or modifications. 00020 In no event shall INPE be held liable to any party 00021 for direct, indirect, special, incidental, or consequential damages arising 00022 out of the use of this library and its documentation. 00023 */ 00024 00025 #ifndef TEPDIPIMANAGERGLOBALSETTINGS_HPP 00026 #define TEPDIPIMANAGERGLOBALSETTINGS_HPP 00027 00028 #include "TePDIDefines.hpp" 00029 #include "TePDIPIManager.hpp" 00030 00031 #include "../kernel/TeMutex.h" 00032 #include "../kernel/TeSingleton.h" 00033 00034 #include <string> 00035 00040 class PDI_DLL TePDIPIManagerGlobalSettings : public 00041 TeSingleton< TePDIPIManagerGlobalSettings > { 00042 00043 friend class TePDIPIManager; 00044 00045 public : 00046 00050 TePDIPIManagerGlobalSettings() 00051 { 00052 total_steps_ = 0; 00053 curr_step_ = 0; 00054 curr_prop_step_ = 0; 00055 active_manager_instances_ = 0; 00056 }; 00057 00061 ~TePDIPIManagerGlobalSettings() {}; 00062 00063 protected : 00064 00069 TeMutex lock_; 00070 00074 volatile unsigned long int total_steps_; 00075 00079 volatile unsigned long int curr_step_; 00080 00084 volatile unsigned long int curr_prop_step_; 00085 00089 volatile unsigned long int active_manager_instances_; 00090 00094 std::string curr_message_; 00095 00096 }; 00097 00098 #endif