FileLoader_ELF.h Source File

Back to the index.

FileLoader_ELF.h
Go to the documentation of this file.
1 #ifndef FILELOADER_ELF_H
2 #define FILELOADER_ELF_H
3 
4 /*
5  * Copyright (C) 2008-2010 Anders Gavare. All rights reserved.
6  *
7  * Redistribution and use in source and binary forms, with or without
8  * modification, are permitted provided that the following conditions are met:
9  *
10  * 1. Redistributions of source code must retain the above copyright
11  * notice, this list of conditions and the following disclaimer.
12  * 2. Redistributions in binary form must reproduce the above copyright
13  * notice, this list of conditions and the following disclaimer in the
14  * documentation and/or other materials provided with the distribution.
15  * 3. The name of the author may not be used to endorse or promote products
16  * derived from this software without specific prior written permission.
17  *
18  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
19  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21  * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
22  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
23  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
24  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
25  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
26  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
27  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
28  * SUCH DAMAGE.
29  */
30 
31 #include "misc.h"
32 
33 #include "Component.h"
34 #include "FileLoaderImpl.h"
35 #include "UnitTest.h"
36 
37 
38 /**
39  * \brief ELF binary loader.
40  *
41  * TODO: Longer comment.
42  */
44  : public UnitTestable
45  , public FileLoaderImpl
46 {
47 public:
48  FileLoader_ELF(const string& filename);
49 
51  {
52  }
53 
54  string DetectFileType(unsigned char *buf, size_t buflen, float& matchness) const;
55 
56  bool LoadIntoComponent(refcount_ptr<Component> component, ostream& messages) const;
57 
58 
59  /********************************************************************/
60 
61  static void RunUnitTests(int& nSucceeded, int& nFailures);
62 };
63 
64 
65 #endif // FILELOADER_ELF_H
FileLoaderImpl.h
FileLoader_ELF::RunUnitTests
static void RunUnitTests(int &nSucceeded, int &nFailures)
refcount_ptr< Component >
FileLoader_ELF
ELF binary loader.
Definition: FileLoader_ELF.h:46
FileLoader_ELF::DetectFileType
string DetectFileType(unsigned char *buf, size_t buflen, float &matchness) const
Attempt to detect file type.
Definition: FileLoader_ELF.cc:117
FileLoader_ELF::LoadIntoComponent
bool LoadIntoComponent(refcount_ptr< Component > component, ostream &messages) const
Loads the file into a Component.
Definition: FileLoader_ELF.cc:148
misc.h
UnitTest.h
Component.h
FileLoader_ELF::FileLoader_ELF
FileLoader_ELF(const string &filename)
Definition: FileLoader_ELF.cc:111
UnitTestable
Base class for unit testable classes.
Definition: UnitTest.h:75
FileLoaderImpl
A file loader.
Definition: FileLoaderImpl.h:42
FileLoader_ELF::~FileLoader_ELF
~FileLoader_ELF()
Definition: FileLoader_ELF.h:50

Generated on Tue Aug 25 2020 19:25:06 for GXemul by doxygen 1.8.18