Version 5.2.6.1, tag libreoffice-5.2.6.1
[LibreOffice.git] / soltools / mkdepend / collectdircontent.hxx
blob09a0ed518d1c239870efbaa338e27344b67c1769
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 #ifndef INCLUDED_SOLTOOLS_MKDEPEND_COLLECTDIRCONTENT_HXX
3 #define INCLUDED_SOLTOOLS_MKDEPEND_COLLECTDIRCONTENT_HXX
5 #if defined __cplusplus
7 #include <set>
8 #include <map>
9 #include <string>
11 #if defined(_WIN32)
12 #include <windows.h>
13 #include <algorithm>
14 #else
15 #include <dirent.h>
16 #endif // defined( WNT )
18 #include <iostream>
20 typedef std::set<std::string> DirContent;
21 typedef std::map<std::string, DirContent> DirMap;
22 typedef DirMap::value_type EntriesPair;
23 typedef std::pair<std::string, std::string> PathFilePair;
26 struct IncludesCollection {
27 private:
28 DirMap allIncludes;
29 static PathFilePair split_path(const std::string& filePath);
30 void add_to_collection(const std::string& dirPath);
32 public:
33 bool exists(std::string filePath);
36 #else
38 struct IncludesCollection;
40 #endif
42 #if defined __cplusplus
43 extern "C" {
44 #endif
46 struct IncludesCollection * create_IncludesCollection(void);
47 void delete_IncludesCollection(struct IncludesCollection *);
49 int call_IncludesCollection_exists(struct IncludesCollection* m, const char* filePath);
51 #if defined __cplusplus
53 #endif
55 #endif
57 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */