openscenegraph
DatabaseRevisions
Go to the documentation of this file.
1/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield
2 *
3 * This library is open source and may be redistributed and/or modified under
4 * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or
5 * (at your option) any later version. The full license is in LICENSE file
6 * included with this distribution, and on the openscenegraph.org website.
7 *
8 * This library is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * OpenSceneGraph Public License for more details.
12*/
13
14#ifndef OSGDB_DATABASEREVISIONS
15#define OSGDB_DATABASEREVISIONS 1
16
17#include <osg/Node>
18
19#include <osgDB/ReaderWriter>
20
21#include <set>
22
23namespace osgDB {
24
26{
27 public:
28
30 FileList(const FileList& fileList, const osg::CopyOp & copyop=osg::CopyOp::SHALLOW_COPY);
31
33
34 typedef std::set<std::string> FileNames;
35 FileNames& getFileNames() { return _files; }
36 const FileNames& getFileNames() const { return _files; }
37
38 bool empty() const { return _files.empty(); }
39
40 bool containsFile(const std::string& filename) const { return _files.count(filename)!=0; }
41
42 void addFile(const std::string& filename) { _files.insert(filename); }
43
44 bool removeFile(const std::string& filename);
45
46 void append(FileList* fileList);
47
48 protected:
49
50 virtual ~FileList();
51
53};
54
55
57{
58 public:
59
62
64
65 void setDatabasePath(const std::string& path) { _databasePath = path; }
66 const std::string& getDatabasePath() const { return _databasePath; }
67
68 typedef std::set<std::string> FileNames;
69
70 void setFilesAdded(FileList* fileList) { _filesAdded = fileList; }
71 FileList* getFilesAdded() { return _filesAdded.get(); }
72 const FileList* getFilesAdded() const { return _filesAdded.get(); }
73
74 void setFilesRemoved(FileList* fileList) { _filesRemoved = fileList; }
75 FileList* getFilesRemoved() { return _filesRemoved.get(); }
76 const FileList* getFilesRemoved() const { return _filesRemoved.get(); }
77
78 void setFilesModified(FileList* fileList) { _filesModified = fileList; }
79 FileList* getFilesModified() { return _filesModified.get(); }
80 const FileList* getFilesModified() const { return _filesModified.get(); }
81
82 bool isFileBlackListed(const std::string& filename) const;
83
84 bool removeFile(const std::string& filename);
85
86 protected:
87
89
90 std::string _databasePath;
91
95};
96
98{
99 public:
100
103
105
106 typedef std::vector< osg::ref_ptr<DatabaseRevision> > DatabaseRevisionList;
107
108 void setDatabasePath(const std::string& path) { _databasePath = path; }
109 const std::string& getDatabasePath() const { return _databasePath; }
110
113
114 DatabaseRevision* getDatabaseRevision(unsigned int i) { return i<_revisionList.size() ? _revisionList[i].get() : 0; }
115
117 const DatabaseRevisionList& getDatabaseRevisionList() const { return _revisionList; }
118
119 bool isFileBlackListed(const std::string& filename) const;
120
121 bool removeFile(const std::string& filename);
122
123 protected:
124
126
127 std::string _databasePath;
129};
130
131}
132
133#endif
Definition DatabaseRevisions:57
osg::ref_ptr< FileList > _filesRemoved
Definition DatabaseRevisions:93
void setFilesAdded(FileList *fileList)
Definition DatabaseRevisions:70
std::set< std::string > FileNames
Definition DatabaseRevisions:68
void setFilesModified(FileList *fileList)
Definition DatabaseRevisions:78
osg::ref_ptr< FileList > _filesModified
Definition DatabaseRevisions:94
const FileList * getFilesAdded() const
Definition DatabaseRevisions:72
void setFilesRemoved(FileList *fileList)
Definition DatabaseRevisions:74
bool isFileBlackListed(const std::string &filename) const
DatabaseRevision(const DatabaseRevision &revision, const osg::CopyOp &copyop=osg::CopyOp::SHALLOW_COPY)
FileList * getFilesRemoved()
Definition DatabaseRevisions:75
FileList * getFilesAdded()
Definition DatabaseRevisions:71
bool removeFile(const std::string &filename)
const FileList * getFilesModified() const
Definition DatabaseRevisions:80
std::string _databasePath
Definition DatabaseRevisions:90
osg::ref_ptr< FileList > _filesAdded
Definition DatabaseRevisions:92
const FileList * getFilesRemoved() const
Definition DatabaseRevisions:76
META_Object(osgDB, DatabaseRevision) void setDatabasePath(const std
Definition DatabaseRevisions:63
FileList * getFilesModified()
Definition DatabaseRevisions:79
const std::string & getDatabasePath() const
Definition DatabaseRevisions:66
Definition DatabaseRevisions:98
std::string _databasePath
Definition DatabaseRevisions:127
std::vector< osg::ref_ptr< DatabaseRevision > > DatabaseRevisionList
Definition DatabaseRevisions:106
DatabaseRevisions(const DatabaseRevisions &revisions, const osg::CopyOp &copyop=osg::CopyOp::SHALLOW_COPY)
DatabaseRevisionList & getDatabaseRevisionList()
Definition DatabaseRevisions:116
DatabaseRevision * getDatabaseRevision(unsigned int i)
Definition DatabaseRevisions:114
META_Object(osgDB, DatabaseRevisions)
void removeRevision(DatabaseRevision *revision)
bool removeFile(const std::string &filename)
const DatabaseRevisionList & getDatabaseRevisionList() const
Definition DatabaseRevisions:117
void setDatabasePath(const std::string &path)
Definition DatabaseRevisions:108
bool isFileBlackListed(const std::string &filename) const
DatabaseRevisionList _revisionList
Definition DatabaseRevisions:128
const std::string & getDatabasePath() const
Definition DatabaseRevisions:109
void addRevision(DatabaseRevision *revision)
Definition DatabaseRevisions:26
META_Object(osgDB, FileList)
FileNames _files
Definition DatabaseRevisions:52
FileNames & getFileNames()
Definition DatabaseRevisions:35
void append(FileList *fileList)
bool removeFile(const std::string &filename)
FileList(const FileList &fileList, const osg::CopyOp &copyop=osg::CopyOp::SHALLOW_COPY)
virtual ~FileList()
std::set< std::string > FileNames
Definition DatabaseRevisions:34
const FileNames & getFileNames() const
Definition DatabaseRevisions:36
void addFile(const std::string &filename)
Definition DatabaseRevisions:42
bool containsFile(const std::string &filename) const
Definition DatabaseRevisions:40
bool empty() const
Definition DatabaseRevisions:38
Definition CopyOp:41
@ SHALLOW_COPY
Definition CopyOp:47
Definition Object:61
Definition ref_ptr:32
Definition Archive:24
#define OSGDB_EXPORT
Definition osgDB/Export:39