diff --git a/doc/class-diagram.dia b/doc/class-diagram.dia
index 21df1f07..fa4ef15f 100644
--- a/doc/class-diagram.dia
+++ b/doc/class-diagram.dia
@@ -2750,8 +2750,8 @@
-
-
+
+
@@ -2935,7 +2935,7 @@
-
+
@@ -2944,7 +2944,7 @@
-
+
#EventList#
@@ -3126,6 +3126,29 @@
+
+
+ #m_Bp_cache#
+
+
+ #BufferCache<BPEvent*>#
+
+
+ ##
+
+
+ ##
+
+
+
+
+
+
+
+
+
+
+
@@ -4971,8 +4994,8 @@
-
-
+
+
@@ -5122,8 +5145,8 @@
-
-
+
+
@@ -5704,8 +5727,8 @@
-
-
+
+
@@ -5849,8 +5872,8 @@
-
-
+
+
@@ -6421,15 +6444,15 @@
-
+
-
-
+
+
@@ -6499,8 +6522,8 @@
-
-
+
+
@@ -7188,8 +7211,8 @@
-
-
+
+
@@ -7437,8 +7460,8 @@
-
-
+
+
@@ -8024,8 +8047,8 @@
-
-
+
+
@@ -8421,8 +8444,8 @@
-
-
+
+
@@ -10978,8 +11001,8 @@
-
-
+
+
@@ -11129,8 +11152,8 @@
-
-
+
+
@@ -11280,8 +11303,8 @@
-
-
+
+
@@ -11321,8 +11344,8 @@
-
-
+
+
@@ -11973,8 +11996,8 @@
-
-
+
+
@@ -12014,8 +12037,8 @@
-
-
+
+
@@ -13301,8 +13324,8 @@
-
-
+
+
@@ -13537,8 +13560,8 @@
-
-
+
+
@@ -15436,8 +15459,8 @@
-
-
+
+
@@ -15477,8 +15500,8 @@
-
-
+
+
@@ -15731,21 +15754,19 @@
-
+
-
-
-
+
+
-
@@ -15779,8 +15800,8 @@
-
-
+
+
@@ -16849,8 +16870,8 @@
-
-
+
+
@@ -17358,8 +17379,8 @@
-
-
+
+
@@ -17399,8 +17420,8 @@
-
-
+
+
@@ -17428,5 +17449,721 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ #BufferCache#
+
+
+ ##
+
+
+ ##
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ #m_Buffer#
+
+
+ #T**#
+
+
+ ##
+
+
+ ##
+
+
+
+
+
+
+
+
+
+
+
+
+
+ #m_BufferCount#
+
+
+ #int#
+
+
+ ##
+
+
+ ##
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ #setCount#
+
+
+ ##
+
+
+ #void#
+
+
+
+
+
+ ##
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ #new_count#
+
+
+ #int#
+
+
+ ##
+
+
+ ##
+
+
+
+
+
+
+
+
+
+ #reallocate_buffer#
+
+
+ ##
+
+
+ #int#
+
+
+
+
+
+ ##
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ #new_size#
+
+
+ #int#
+
+
+ ##
+
+
+ ##
+
+
+
+
+
+
+
+
+
+ #add#
+
+
+ ##
+
+
+ #void#
+
+
+
+
+
+ ##
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ #val#
+
+
+ #T#
+
+
+ ##
+
+
+ ##
+
+
+
+
+
+
+
+
+
+ #remove#
+
+
+ ##
+
+
+ #void#
+
+
+
+
+
+ ##
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ #val#
+
+
+ #T#
+
+
+ ##
+
+
+ ##
+
+
+
+
+
+
+
+
+
+ #erase#
+
+
+ ##
+
+
+ #int#
+
+
+
+
+
+ ##
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ #idx#
+
+
+ #int#
+
+
+ ##
+
+
+ ##
+
+
+
+
+
+
+
+
+
+ #clear#
+
+
+ ##
+
+
+ #void#
+
+
+
+
+
+ ##
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ #get#
+
+
+ ##
+
+
+ #T#
+
+
+
+
+
+ ##
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ #idx#
+
+
+ #int#
+
+
+ ##
+
+
+ ##
+
+
+
+
+
+
+
+
+
+ #set#
+
+
+ ##
+
+
+ #void#
+
+
+
+
+
+ ##
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ #idx#
+
+
+ #int#
+
+
+ ##
+
+
+ ##
+
+
+
+
+
+
+
+ #val#
+
+
+ #T#
+
+
+ ##
+
+
+ ##
+
+
+
+
+
+
+
+
+
+ #getCount#
+
+
+ ##
+
+
+ #int#
+
+
+
+
+
+ ##
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ #makeActive#
+
+
+ ##
+
+
+ #int#
+
+
+
+
+
+ ##
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ #ev_list#
+
+
+ #EventList#
+
+
+ ##
+
+
+ ##
+
+
+
+
+
+
+
+ #idx#
+
+
+ #int#
+
+
+ ##
+
+
+ ##
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ##
+
+
+ #T#
+
+
+
+
+
+
+ #<<friend>>#
+
+
+
+
+
+
+
+
+
+
+
+ ##
+
+
+ ##
+
+
+
+
+
+
+
+
+ ##
+
+
+ ##
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/doc/class-diagram.png b/doc/class-diagram.png
index 21ad3855..e45b916f 100644
Binary files a/doc/class-diagram.png and b/doc/class-diagram.png differ
diff --git a/src/core/sal/BufferCache.hpp b/src/core/sal/BufferCache.hpp
index 5e413686..4c26c837 100644
--- a/src/core/sal/BufferCache.hpp
+++ b/src/core/sal/BufferCache.hpp
@@ -68,7 +68,7 @@ public:
* @param idx the position to retrieve the element from
* @return the element at the given position
*/
- inline T get(int idx) { return (idx >= 0 && idx < getCount() ? m_Buffer[idx] : NULL); }
+ inline T get(int idx) const { return (idx >= 0 && idx < getCount() ? m_Buffer[idx] : NULL); }
/**
* Set an element at a given position. Should be inlined.
* @param idx the position to change an element at
@@ -79,7 +79,7 @@ public:
* Retrieves the current length of the array. Should be inlined.
* @return the array length
*/
- inline int getCount() { return m_BufferCount; }
+ inline int getCount() const { return m_BufferCount; }
/**
* Acts as a replacement for EventList::makeActive, manipulating
* the buffer cache exclusively. EventList::fireActiveEvents needs