#ifndef __DALI_INTERNAL_MESSAGE_BUFFER_H__
#define __DALI_INTERNAL_MESSAGE_BUFFER_H__
-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
// EXTERNAL INCLUDES
#include <cstddef>
class MessageBuffer
{
public:
+ typedef std::ptrdiff_t WordType;
/**
* Create a new MessageBuffer
/**
* Reserve space for another message in the buffer.
* @pre size is greater than zero.
- * @param[in] The message size with respect to the size of type "char".
- * @return A pointer to the address allocated for the message.
+ * @param[in] size The message size with respect to the size of type "char".
+ * @return A pointer to the address allocated for the message, aligned to a word boundary
*/
unsigned int* ReserveMessageSlot( std::size_t size );
public:
// Constructor
- Iterator(unsigned int* current);
+ Iterator(WordType* current);
// Inlined for performance
bool IsValid()
}
// Inlined for performance
- unsigned int* Get()
+ WordType* Get()
{
return ( 0 != mMessageSize ) ? mCurrent : NULL;
}
private:
- unsigned int* mCurrent;
- unsigned int mMessageSize;
+ WordType* mCurrent;
+ std::size_t mMessageSize;
};
/**
std::size_t mInitialCapacity; ///< The capacity to allocate during first call to ReserveMessageSlot
- unsigned int* mData; ///< The data allocated for the message buffer
- unsigned int* mNextSlot; ///< The next free location in the buffer
+ WordType* mData; ///< The data allocated for the message buffer
+ WordType* mNextSlot; ///< The next free location in the buffer
- std::size_t mCapacity; ///< The memory allocated with respect to sizeof(unsigned int)
- std::size_t mSize; ///< The memory reserved for messages with respect to sizeof(unsigned int)
+ std::size_t mCapacity; ///< The memory allocated with respect to sizeof(WordType)
+ std::size_t mSize; ///< The memory reserved for messages with respect to sizeof(WordType)
};
} // namespace Internal