summaryrefslogtreecommitdiff
path: root/cpp/src/Slice/FileTracker.cpp
diff options
context:
space:
mode:
authorJose <jose@zeroc.com>2017-02-10 20:42:34 +0100
committerJose <jose@zeroc.com>2017-02-10 20:42:34 +0100
commitc349bde2cb91f0d0f39d5dc605d600b59ed7ee14 (patch)
tree39eb5de7752b719086af47462a486d5d271dc86a /cpp/src/Slice/FileTracker.cpp
parentAnother fix for the IceGrid/activation test (diff)
downloadice-c349bde2cb91f0d0f39d5dc605d600b59ed7ee14.tar.bz2
ice-c349bde2cb91f0d0f39d5dc605d600b59ed7ee14.tar.xz
ice-c349bde2cb91f0d0f39d5dc605d600b59ed7ee14.zip
FileTracker cleanup and simplifcations
Diffstat (limited to 'cpp/src/Slice/FileTracker.cpp')
-rw-r--r--cpp/src/Slice/FileTracker.cpp82
1 files changed, 13 insertions, 69 deletions
diff --git a/cpp/src/Slice/FileTracker.cpp b/cpp/src/Slice/FileTracker.cpp
index fbba124fc3b..bfb253931c1 100644
--- a/cpp/src/Slice/FileTracker.cpp
+++ b/cpp/src/Slice/FileTracker.cpp
@@ -10,12 +10,7 @@
#include <Slice/FileTracker.h>
#include <IceUtil/ConsoleUtil.h>
-
-#ifdef _WIN32
-# include <direct.h>
-#else
-# include <unistd.h>
-#endif
+#include <IceUtil/FileUtil.h>
using namespace IceUtilInternal;
using namespace std;
@@ -98,15 +93,11 @@ Slice::FileTracker::setSource(const string& source)
}
void
-Slice::FileTracker::setOutput(const string& output, bool error)
+Slice::FileTracker::error()
{
- assert(!_source.empty());
- _errors.insert(make_pair(_source, output));
- if(error)
- {
- _generated.erase(_curr);
- _curr = _generated.end();
- }
+ assert(_curr != _generated.end());
+ _generated.erase(_curr);
+ _curr = _generated.end();
}
void
@@ -132,19 +123,11 @@ Slice::FileTracker::cleanup()
{
if(!p->second)
{
-#ifdef _WIN32
- _unlink(p->first.c_str());
-#else
- unlink(p->first.c_str());
-#endif
+ IceUtilInternal::unlink(p->first);
}
else
{
-#ifdef _WIN32
- _rmdir(p->first.c_str());
-#else
- rmdir(p->first.c_str());
-#endif
+ IceUtilInternal::rmdir(p->first);
}
}
}
@@ -153,57 +136,18 @@ void
Slice::FileTracker::dumpxml()
{
consoleOut << "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" << endl;
-
consoleOut << "<generated>" << endl;
- for(map<string, string>::const_iterator p = _errors.begin(); p != _errors.end(); ++p)
+ for(map<string, list<string> >::const_iterator p = _generated.begin(); p != _generated.end(); ++p)
{
- consoleOut << " <source name=\"" << p->first << "\"";
-
- map<string, list<string> >::const_iterator q = _generated.find(p->first);
- if(q == _generated.end())
- {
- consoleOut << " error=\"true\">" << endl;
- }
- else
+ if(!p->second.empty())
{
- consoleOut << ">" << endl;
- for(list<string>::const_iterator r = q->second.begin(); r != q->second.end(); ++r)
+ consoleOut << " <source name=\"" << p->first << "\">";
+ for(list<string>::const_iterator q = p->second.begin(); q != p->second.end(); ++q)
{
- consoleOut << " <file name=\"" << *r << "\"/>" << endl;
+ consoleOut << " <file name=\"" << *q << "\"/>" << endl;
}
+ consoleOut << " </source>" << endl;
}
- consoleOut << " <output>" << escape(p->second) << "</output>" << endl;
- consoleOut << " </source>" << endl;
}
consoleOut << "</generated>" << endl;
}
-
-string
-Slice::FileTracker::escape(const string& str) const
-{
- ostringstream ostr;
-
- for(string::const_iterator p = str.begin(); p != str.end(); ++p)
- {
- switch(*p)
- {
- case '<':
- ostr << "&lt;";
- break;
- case '>':
- ostr << "&gt;";
- break;
- case '&':
- ostr << "&amp;";
- break;
- case '"':
- ostr << "&quot;";
- break;
- default:
- ostr << *p;
- break;
- }
- }
-
- return ostr.str();
-}