summaryrefslogtreecommitdiff
path: root/src/buffer_manager.hh
diff options
context:
space:
mode:
authorMaxime Coste <frrrwww@gmail.com>2016-05-14 08:33:50 +0100
committerMaxime Coste <frrrwww@gmail.com>2016-05-14 08:33:50 +0100
commit1788126f385c0d656b6addb0731f6205cc4856e5 (patch)
treef28d2ca367ea59fb0901e3b8a3f45a7837ccfb35 /src/buffer_manager.hh
parentba421e45f7b97c5e7ba28efe4f148fb3ba87a22c (diff)
BufferManager now owns the Buffers instead of registering them
Diffstat (limited to 'src/buffer_manager.hh')
-rw-r--r--src/buffer_manager.hh10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/buffer_manager.hh b/src/buffer_manager.hh
index 014d241e..f992dcf6 100644
--- a/src/buffer_manager.hh
+++ b/src/buffer_manager.hh
@@ -1,6 +1,7 @@
#ifndef buffer_manager_hh_INCLUDED
#define buffer_manager_hh_INCLUDED
+#include "buffer.hh"
#include "completion.hh"
#include "utils.hh"
#include "safe_ptr.hh"
@@ -8,18 +9,17 @@
namespace Kakoune
{
-class Buffer;
-
class BufferManager : public Singleton<BufferManager>
{
public:
- using BufferList = Vector<SafePtr<Buffer>>;
+ using BufferList = Vector<std::unique_ptr<Buffer>>;
using iterator = BufferList::const_iterator;
~BufferManager();
- void register_buffer(Buffer& buffer);
- void unregister_buffer(Buffer& buffer);
+ Buffer* create_buffer(String name, Buffer::Flags flags,
+ StringView data = {},
+ timespec fs_timestamp = InvalidTime);
void delete_buffer(Buffer& buffer);