Version 6.1.0.2, tag libreoffice-6.1.0.2
[LibreOffice.git] / soltools / mkdepend / collectdircontent.hxx
blobbc4160a7437d5ab1be26da53f09dce16f3b2be23
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 #if !defined WIN32_LEAN_AND_MEAN
13 # define WIN32_LEAN_AND_MEAN
14 #endif
15 #include <windows.h>
16 #include <algorithm>
17 #else
18 #include <dirent.h>
19 #endif // defined( WNT )
21 #include <iostream>
23 typedef std::set<std::string> DirContent;
24 typedef std::map<std::string, DirContent> DirMap;
25 typedef DirMap::value_type EntriesPair;
26 typedef std::pair<std::string, std::string> PathFilePair;
29 struct IncludesCollection {
30 private:
31 DirMap allIncludes;
32 static PathFilePair split_path(const std::string& filePath);
33 void add_to_collection(const std::string& dirPath);
35 public:
36 bool exists(std::string filePath);
39 #else
41 struct IncludesCollection;
43 #endif
45 #if defined __cplusplus
46 extern "C" {
47 #endif
49 struct IncludesCollection * create_IncludesCollection(void);
50 void delete_IncludesCollection(struct IncludesCollection *);
52 int call_IncludesCollection_exists(struct IncludesCollection* m, const char* filePath);
54 #if defined __cplusplus
56 #endif
58 #endif
60 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */