Switched bookmark manager to net object system

This commit is contained in:
Yousef Khadadeh 2025-12-09 19:29:58 +03:00
parent 65436429b8
commit c6f2ff18ef
12 changed files with 71 additions and 176 deletions

View file

@ -67,6 +67,9 @@ namespace NetworkingObjects {
}
virtual uint32_t size() const = 0;
virtual const std::vector<NetObjOrderedListObjectInfoPtr<T>>& get_data() const = 0;
virtual const NetObjOrderedListObjectInfoPtr<T>& info_at(uint32_t index) const = 0;
virtual const NetObjPtr<T>& at(uint32_t index) const = 0;
virtual bool empty() const = 0;
virtual ~NetObjOrderedList() {}
protected:
virtual void insert(const NetObjPtr<NetObjOrderedList<T>>& l, uint32_t posToInsertAt, const NetObjPtr<T>& newObj) = 0;
@ -96,6 +99,15 @@ namespace NetworkingObjects {
virtual const std::vector<NetObjOrderedListObjectInfoPtr<T>>& get_data() const override {
return data;
}
virtual const NetObjOrderedListObjectInfoPtr<T>& info_at(uint32_t index) const override {
return data[index];
}
virtual const NetObjPtr<T>& at(uint32_t index) const override {
return data[index]->obj;
}
virtual bool empty() const override {
return data.empty();
}
protected:
virtual void insert(const NetObjPtr<NetObjOrderedList<T>>& l, uint32_t posToInsertAt, const NetObjPtr<T>& newObj) override {
uint32_t actualPosToInsertAt = posToInsertAt = std::min<uint32_t>(posToInsertAt, data.size());
@ -183,6 +195,15 @@ namespace NetworkingObjects {
virtual const std::vector<NetObjOrderedListObjectInfoPtr<T>>& get_data() const override {
return clientData;
}
virtual const NetObjOrderedListObjectInfoPtr<T>& info_at(uint32_t index) const override {
return clientData[index];
}
virtual const NetObjPtr<T>& at(uint32_t index) const override {
return clientData[index]->obj;
}
virtual bool empty() const override {
return clientData.empty();
}
protected:
virtual void insert(const NetObjPtr<NetObjOrderedList<T>>& l, uint32_t posToInsertAt, const NetObjPtr<T>& newObj) {
uint32_t actualPosToInsertAt = posToInsertAt = std::min<uint32_t>(posToInsertAt, clientData.size());