*
* LyX, The Document Processor
* Copyright 1995 Matthias Ettrich
- * Copyright 1995-1999 The LyX Team
+ * Copyright 1995-2000 The LyX Team
*
- * This file is Copyright 1996
+ * This file is Copyright 1996-2000
* Lars Gullik Bjønnes
*
* ====================================================== */
#include "buffer.h"
#include "debug.h"
+#include "support/utility.hpp"
/** A class to hold all the buffers in a structure
The point of this class is to hide from bufferlist what kind
This class should ideally be enclosed inside class BufferList, but that
gave me an "internal gcc error".
*/
-class BufferStorage {
+class BufferStorage : public noncopyable {
public:
///
- typedef vector<Buffer *> Container;
+ typedef std::vector<Buffer *> Container;
///
typedef Container::iterator iterator;
///
+ typedef Container::const_iterator const_iterator;
+ ///
bool empty() const { return container.empty(); }
///
void release(Buffer * buf);
///
- Buffer * newBuffer(string const & s, LyXRC *, bool = false);
+ Buffer * newBuffer(string const & s, bool = false);
///
Container::iterator begin() { return container.begin(); }
///
Container::iterator end() { return container.end(); }
///
+ Container::const_iterator begin() const { return container.begin(); }
+ ///
+ Container::const_iterator end() const { return container.end(); }
+ ///
Buffer * front() { return container.front(); }
///
Buffer * operator[](int c) { return container[c]; }
};
-/** The class governing all the open buffers
- This class governs all the currently open buffers. Currently all the buffer
- are located in a static array, soon this will change and we will have a
- linked list instead.
+/** The class govern all open buffers.
*/
-class BufferList {
+class BufferList : public noncopyable {
public:
///
BufferList();
};
/// returns the state of the bufferlist
- list_state getState() { return _state; }
+ list_state getState() const { return state_; }
/** loads a LyX file or...
If the optional argument tolastfiles is false (default is
bool tolastfiles = true);
///
- bool empty();
-
- /// Saves buffer. Returns false if unsuccesful.
- bool write(Buffer *, bool makeBackup = true);
+ bool empty() const;
///
bool QwriteAll();
/// Make a new file (buffer) using a template
Buffer * newFile(string const &, string);
-
- /** This one must be moved to some other place.
- */
- void makePup(int);
-
- ///
- void updateInset(Inset *, bool = true);
+ /// returns a vector with all the buffers filenames
+ std::vector<string> getFileNames() const;
///
int unlockInset(UpdatableInset *);
///
void emergencyWriteAll();
- /** closes buffer
- Returns false if operation was canceled
+ /** Close buffer.
+ @param buf the buffer that should be closed
+ @return #false# if operation was canceled
*/
- bool close(Buffer *);
+ bool close(Buffer * buf);
///
Buffer * first();
/// returns true if the buffer exists already
- bool exists(string const &);
+ bool exists(string const &) const;
+ /// returns true if the buffer is loaded
+ bool isLoaded(Buffer const * b) const;
+
/// returns a pointer to the buffer with the given name.
Buffer * getBuffer(string const &);
/// returns a pointer to the buffer with the given number.
BufferStorage bstore;
///
- list_state _state;
+ list_state state_;
};
#endif