mirror of
https://github.com/NationalSecurityAgency/ghidra.git
synced 2025-10-04 10:19:23 +02:00
Candidate release of source code.
This commit is contained in:
parent
db81e6b3b0
commit
79d8f164f8
12449 changed files with 2800756 additions and 16 deletions
49
Ghidra/Features/Decompiler/src/decompile/cpp/filemanage.hh
Normal file
49
Ghidra/Features/Decompiler/src/decompile/cpp/filemanage.hh
Normal file
|
@ -0,0 +1,49 @@
|
|||
/* ###
|
||||
* IP: GHIDRA
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
// Generic (POSIX) class for searching files and managing paths
|
||||
|
||||
#ifndef __FILEMANAGE__
|
||||
#define __FILEMANAGE__
|
||||
|
||||
#include <vector>
|
||||
#include <string>
|
||||
#include <iostream>
|
||||
#include <sstream>
|
||||
#include <fstream>
|
||||
|
||||
using namespace std;
|
||||
|
||||
class FileManage {
|
||||
vector<string> pathlist; // List of paths to search for files
|
||||
static char separator;
|
||||
static string buildPath(const vector<string> &pathels,int level);
|
||||
static bool testDevelopmentPath(const vector<string> &pathels,int level,string &root);
|
||||
static bool testInstallPath(const vector<string> &pathels,int level,string &root);
|
||||
public:
|
||||
void addDir2Path(const string &path);
|
||||
void addCurrentDir(void);
|
||||
void findFile(string &res,const string &name) const; // Resolve full pathname
|
||||
void matchList(vector<string> &res,const string &match,bool isSuffix) const; // List of files with suffix
|
||||
static bool isDirectory(const string &path);
|
||||
static void matchListDir(vector<string> &res,const string &match,bool isSuffix,const string &dir,bool allowdot);
|
||||
static void directoryList(vector<string> &res,const string &dirname,bool allowdot=false);
|
||||
static void scanDirectoryRecursive(vector<string> &res,const string &matchname,const string &rootpath,int maxdepth);
|
||||
static void splitPath(const string &full,string &path,string &base);
|
||||
static bool isAbsolutePath(const string &full) { if (full.empty()) return false; return (full[0] == separator); }
|
||||
static string discoverGhidraRoot(const char *argv0);
|
||||
};
|
||||
|
||||
#endif
|
Loading…
Add table
Add a link
Reference in a new issue