00001 #ifndef QRK_LOG_NAME_HOLDER_H 00002 #define QRK_LOG_NAME_HOLDER_H 00003 00013 #include <memory> 00014 #include <string> 00015 00016 00017 namespace qrk 00018 { 00022 class LogNameHolder 00023 { 00024 LogNameHolder(void); 00025 LogNameHolder(const LogNameHolder& rhs); 00026 LogNameHolder& operator = (const LogNameHolder& rhs); 00027 00028 struct pImpl; 00029 const std::auto_ptr<pImpl> pimpl; 00030 00031 public: 00032 ~LogNameHolder(void); 00033 static LogNameHolder* object(void); 00034 00035 std::string name(const char* baseName); 00036 }; 00037 } 00038 00039 #endif /* !QRK_LOG_NAME_HOLDER_H */