1/* 2 * Copyright 2011, Oliver Tappe <zooey@hirschkaefer.de> 3 * Distributed under the terms of the MIT License. 4 */ 5#ifndef _PACKAGE__HPKG__PRIVATE__REPOSITORY_READER_IMPL_H_ 6#define _PACKAGE__HPKG__PRIVATE__REPOSITORY_READER_IMPL_H_ 7 8 9#include <package/hpkg/ReaderImplBase.h> 10 11#include <package/RepositoryInfo.h> 12 13 14namespace BPackageKit { 15 16namespace BHPKG { 17 18 19class BRepositoryContentHandler; 20 21 22namespace BPrivate { 23 24 25class RepositoryReaderImpl : public ReaderImplBase { 26 typedef ReaderImplBase inherited; 27public: 28 RepositoryReaderImpl(BErrorOutput* errorOutput); 29 ~RepositoryReaderImpl(); 30 31 status_t Init(const char* fileName); 32 status_t Init(int fd, bool keepFD); 33 status_t Init(BPositionIO* file, bool keepFile); 34 35 status_t GetRepositoryInfo( 36 BRepositoryInfo* _repositoryInfo) const; 37 38 status_t ParseContent( 39 BRepositoryContentHandler* contentHandler); 40 41private: 42 class PackagesAttributeHandler; 43 class PackageContentHandlerAdapter; 44 45private: 46 BRepositoryInfo fRepositoryInfo; 47}; 48 49 50} // namespace BPrivate 51 52} // namespace BHPKG 53 54} // namespace BPackageKit 55 56 57#endif // _PACKAGE__HPKG__PRIVATE__REPOSITORY_READER_IMPL_H_ 58