1 // Copyright (C) 1999,2000 Bruce Guenter <bruceg@em.ca> 2 // 3 // This program is free software; you can redistribute it and/or modify 4 // it under the terms of the GNU General Public License as published by 5 // the Free Software Foundation; either version 2 of the License, or 6 // (at your option) any later version. 7 // 8 // This program is distributed in the hope that it will be useful, 9 // but WITHOUT ANY WARRANTY; without even the implied warranty of 10 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 // GNU General Public License for more details. 12 // 13 // You should have received a copy of the GNU General Public License 14 // along with this program; if not, write to the Free Software 15 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 16 17 #ifndef VMAILMGR__STATE__H__ 18 #define VMAILMGR__STATE__H__ 19 20 #include <sys/types.h> 21 #include "misc/pwentry.h" 22 #include "vdomain/vdomain.h" 23 24 class saved_state 25 { 26 bool status; 27 28 // Make these private so they can't be called 29 saved_state(); 30 saved_state(const saved_state&); 31 public: 32 vdomain domain; 33 const configuration* oldconfig; 34 35 saved_state(const pwentry* pw); 36 ~saved_state(); 37 ok()38 bool ok() const 39 { 40 return status; 41 } bad()42 bool bad() const 43 { 44 return !status; 45 } 46 }; 47 48 extern saved_state* state; 49 50 //#define CHANGE_STATE(PW) do{ saved_state state(PW); if(state.bad()) RETURN(err, "Can't change state"); }while(0) 51 52 #endif 53