You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
47 lines
1.8 KiB
47 lines
1.8 KiB
/*************************************************************************** |
|
* Copyright (C) 2008 by Jakub Stachowski <qbast@go2.pl> * |
|
* * |
|
* This program is free software; you can redistribute it and/or modify * |
|
* it under the terms of the GNU General Public License as published by * |
|
* the Free Software Foundation; either version 2 of the License, or * |
|
* (at your option) any later version. * |
|
***************************************************************************/ |
|
|
|
#ifndef MOBIENDANALYZER |
|
#define MOBIENDANALYZER |
|
|
|
#include <strigi/streamendanalyzer.h> |
|
#include <strigi/streambase.h> |
|
|
|
class MobiEndAnalyzerFactory; |
|
class MobiEndAnalyzer : public Strigi::StreamEndAnalyzer { |
|
private: |
|
const MobiEndAnalyzerFactory* factory; |
|
bool checkHeader(const char* header, int32_t headersize) const; |
|
signed char analyze(Strigi::AnalysisResult& idx, Strigi::InputStream* in); |
|
const char* name() const { return "MobiEndAnalyzer"; } |
|
public: |
|
MobiEndAnalyzer(const MobiEndAnalyzerFactory* f); |
|
}; |
|
|
|
class MobiEndAnalyzerFactory : public Strigi::StreamEndAnalyzerFactory { |
|
friend class MobiEndAnalyzer; |
|
private: |
|
const Strigi::RegisteredField* titleField; |
|
const Strigi::RegisteredField* authorField; |
|
const Strigi::RegisteredField* copyrightField; |
|
const Strigi::RegisteredField* subjectField; |
|
const Strigi::RegisteredField* descriptionField; |
|
const Strigi::RegisteredField* encryptedField; |
|
// const Strigi::RegisteredField* typeField; |
|
|
|
const char* name() const { |
|
return "MobiEndAnalyzer"; |
|
} |
|
Strigi::StreamEndAnalyzer* newInstance() const { |
|
return new MobiEndAnalyzer(this); |
|
} |
|
void registerFields(Strigi::FieldRegister&); |
|
}; |
|
|
|
#endif
|
|
|