11e7416d9SIngo Weinhold /* 21e7416d9SIngo Weinhold * Copyright 2009, Ingo Weinhold, ingo_weinhold@gmx.de. 31e7416d9SIngo Weinhold * Distributed under the terms of the MIT License. 41e7416d9SIngo Weinhold */ 51e7416d9SIngo Weinhold #ifndef PACKAGE_SYMLINK_H 61e7416d9SIngo Weinhold #define PACKAGE_SYMLINK_H 71e7416d9SIngo Weinhold 81e7416d9SIngo Weinhold 91e7416d9SIngo Weinhold #include "PackageLeafNode.h" 101e7416d9SIngo Weinhold 111e7416d9SIngo Weinhold 12*65f80c14SAugustin Cavalier class PackageSymlink final : public PackageLeafNode { 131e7416d9SIngo Weinhold public: 1420d9f6e4SAugustin Cavalier static void* operator new(size_t size); 1520d9f6e4SAugustin Cavalier static void operator delete(void* block); 1620d9f6e4SAugustin Cavalier 171e7416d9SIngo Weinhold PackageSymlink(Package* package, mode_t mode); 181e7416d9SIngo Weinhold virtual ~PackageSymlink(); 191e7416d9SIngo Weinhold 20d07c930cSIngo Weinhold void SetSymlinkPath(const String& path); 211e7416d9SIngo Weinhold 22d07c930cSIngo Weinhold virtual String SymlinkPath() const; 231e7416d9SIngo Weinhold 241e7416d9SIngo Weinhold private: 25d07c930cSIngo Weinhold String fSymlinkPath; 261e7416d9SIngo Weinhold }; 271e7416d9SIngo Weinhold 281e7416d9SIngo Weinhold 291e7416d9SIngo Weinhold #endif // PACKAGE_SYMLINK_H 30