summaryrefslogtreecommitdiff
path: root/src/map/map.hpp
diff options
context:
space:
mode:
authorBen Longbons <b.r.longbons@gmail.com>2013-05-22 22:51:51 -0700
committerBen Longbons <b.r.longbons@gmail.com>2013-05-22 22:51:51 -0700
commitcce12d0d059b3328ad74446b389445bd43e0a90b (patch)
treeb381c7aa8424870e1cf88470972597b25dfe4c68 /src/map/map.hpp
parent10e0b85e0325e5e85f9c4b9e7fe6db02171134ee (diff)
downloadtmwa-cce12d0d059b3328ad74446b389445bd43e0a90b.tar.gz
tmwa-cce12d0d059b3328ad74446b389445bd43e0a90b.tar.bz2
tmwa-cce12d0d059b3328ad74446b389445bd43e0a90b.tar.xz
tmwa-cce12d0d059b3328ad74446b389445bd43e0a90b.zip
RAII-ify some arrays of block_list
Diffstat (limited to 'src/map/map.hpp')
-rw-r--r--src/map/map.hpp18
1 files changed, 13 insertions, 5 deletions
diff --git a/src/map/map.hpp b/src/map/map.hpp
index 7233241..ae96eb3 100644
--- a/src/map/map.hpp
+++ b/src/map/map.hpp
@@ -487,11 +487,19 @@ extern char wisp_server_name[];
// 鯖全体情報
void map_setusers(int);
int map_getusers(void);
-// block削除関連
-int map_freeblock(void *bl);
-int map_freeblock_lock(void);
-int map_freeblock_unlock(void);
-// block関連
+
+class MapBlockLock
+{
+ MapBlockLock(const MapBlockLock&) = delete;
+ MapBlockLock& operator = (const MapBlockLock&) = delete;
+public:
+ MapBlockLock();
+ ~MapBlockLock();
+
+ static
+ void freeblock(struct block_list *);
+};
+
int map_addblock(struct block_list *);
int map_delblock(struct block_list *);
void map_foreachinarea(std::function<void(struct block_list *)>,