Environment_VMS.h 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. //
  2. // Environment_VMS.h
  3. //
  4. // $Id: //poco/1.4/Foundation/include/Poco/Environment_VMS.h#2 $
  5. //
  6. // Library: Foundation
  7. // Package: Core
  8. // Module: Environment
  9. //
  10. // Definition of the EnvironmentImpl class for OpenVMS.
  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_Environment_VMS_INCLUDED
  18. #define Foundation_Environment_VMS_INCLUDED
  19. #include "Poco/Foundation.h"
  20. #include "Poco/Mutex.h"
  21. namespace Poco {
  22. class Foundation_API EnvironmentImpl
  23. {
  24. public:
  25. typedef UInt8 NodeId[6]; /// Ethernet address.
  26. static std::string getImpl(const std::string& name);
  27. static bool hasImpl(const std::string& name);
  28. static void setImpl(const std::string& name, const std::string& value);
  29. static std::string osNameImpl();
  30. static std::string osDisplayNameImpl();
  31. static std::string osVersionImpl();
  32. static std::string osArchitectureImpl();
  33. static std::string nodeNameImpl();
  34. static void nodeIdImpl(NodeId& id);
  35. static unsigned processorCountImpl();
  36. static std::string getsyi(unsigned short code);
  37. /// a wrapper for $GETSYIW
  38. static std::string trnlnm(const std::string& name);
  39. private:
  40. static FastMutex _mutex;
  41. };
  42. } // namespace Poco
  43. #endif // Foundation_Environment_VMS_INCLUDED