00001 #ifndef HEADER_ROOMACCESS_H 00002 #define HEADER_ROOMACCESS_H 00003 00004 class Room; 00005 00006 #include "NoCopy.h" 00007 00008 /** 00009 * Interface to access changing room. 00010 */ 00011 class RoomAccess : public NoCopy { 00012 private: 00013 Room *m_room; 00014 private: 00015 void checkRoom() const; 00016 public: 00017 RoomAccess(); 00018 ~RoomAccess(); 00019 void takeRoom(Room *new_room); 00020 00021 void cleanRoom(); 00022 bool isRoom() const { return !!m_room; } 00023 Room *room(); 00024 const Room *const_room() const; 00025 }; 00026 00027 #endif