1*1e7416d9SIngo Weinhold /* 2*1e7416d9SIngo Weinhold * Copyright 2011, Ingo Weinhold, ingo_weinhold@gmx.de. 3*1e7416d9SIngo Weinhold * Distributed under the terms of the MIT License. 4*1e7416d9SIngo Weinhold */ 5*1e7416d9SIngo Weinhold #ifndef PACKAGE_LINKS_DIRECTORY_H 6*1e7416d9SIngo Weinhold #define PACKAGE_LINKS_DIRECTORY_H 7*1e7416d9SIngo Weinhold 8*1e7416d9SIngo Weinhold 9*1e7416d9SIngo Weinhold #include "Directory.h" 10*1e7416d9SIngo Weinhold 11*1e7416d9SIngo Weinhold 12*1e7416d9SIngo Weinhold class Package; 13*1e7416d9SIngo Weinhold class PackageLinksListener; 14*1e7416d9SIngo Weinhold 15*1e7416d9SIngo Weinhold 16*1e7416d9SIngo Weinhold class PackageLinksDirectory : public Directory { 17*1e7416d9SIngo Weinhold public: 18*1e7416d9SIngo Weinhold PackageLinksDirectory(); 19*1e7416d9SIngo Weinhold virtual ~PackageLinksDirectory(); 20*1e7416d9SIngo Weinhold 21*1e7416d9SIngo Weinhold virtual timespec ModifiedTime() const; 22*1e7416d9SIngo Weinhold SetListener(PackageLinksListener * listener)23*1e7416d9SIngo Weinhold void SetListener(PackageLinksListener* listener) 24*1e7416d9SIngo Weinhold { fListener = listener; } 25*1e7416d9SIngo Weinhold 26*1e7416d9SIngo Weinhold status_t AddPackage(Package* package); 27*1e7416d9SIngo Weinhold void RemovePackage(Package* package); 28*1e7416d9SIngo Weinhold void UpdatePackageDependencies(Package* package); 29*1e7416d9SIngo Weinhold 30*1e7416d9SIngo Weinhold private: 31*1e7416d9SIngo Weinhold timespec fModifiedTime; 32*1e7416d9SIngo Weinhold PackageLinksListener* fListener; 33*1e7416d9SIngo Weinhold }; 34*1e7416d9SIngo Weinhold 35*1e7416d9SIngo Weinhold 36*1e7416d9SIngo Weinhold #endif // PACKAGE_LINKS_DIRECTORY_H 37