xref: /haiku/src/add-ons/kernel/file_systems/packagefs/package/PackageSymlink.h (revision 65f80c14fc486c1ea2f5baa3d54aa0e172e6ab40)
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