LogFile_VMS.h 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. //
  2. // LogFile_VMS.h
  3. //
  4. // $Id: //poco/1.4/Foundation/include/Poco/LogFile_VMS.h#1 $
  5. //
  6. // Library: Foundation
  7. // Package: Logging
  8. // Module: LogFile
  9. //
  10. // Definition of the LogFileImpl class using C I/O with OpenVMS extensions.
  11. //
  12. // Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
  13. // and Contributors.
  14. //
  15. // SPDX-License-Identifier: BSL-1.0
  16. //
  17. #ifndef Foundation_LogFile_VMS_INCLUDED
  18. #define Foundation_LogFile_VMS_INCLUDED
  19. #include "Poco/Foundation.h"
  20. #include "Poco/Timestamp.h"
  21. #include <stdio.h>
  22. namespace Poco {
  23. class Foundation_API LogFileImpl
  24. /// The implementation of LogFile for OpenVMS.
  25. /// The C Standard Library functions for file I/O
  26. /// are used with OpenVMS-specific extensions to
  27. /// control sharing and locking behavior.
  28. {
  29. public:
  30. LogFileImpl(const std::string& path);
  31. ~LogFileImpl();
  32. void writeImpl(const std::string& text, bool flush);
  33. UInt64 sizeImpl() const;
  34. Timestamp creationDateImpl() const;
  35. const std::string& pathImpl() const;
  36. private:
  37. std::string _path;
  38. mutable FILE* _file;
  39. Timestamp _creationDate;
  40. };
  41. } // namespace Poco
  42. #endif // Foundation_LogFile_VMS_INCLUDED