using namespace boost::interprocess;
static const std::size_t FileSize = 1000;
-inline std::string get_filename()
-{
- std::string ret (ipcdetail::get_temporary_path());
- ret += "/";
- ret += test::get_process_id_name();
- return ret;
-}
struct file_destroyer
{
}
};
+typedef boost::interprocess::ipcdetail::managed_open_or_create_impl
+ <boost::interprocess::ipcdetail::file_wrapper, 0, true, false> mapped_file;
+
//This wrapper is necessary to have a common constructor
//in generic named_creation_template functions
class mapped_file_creation_test_wrapper
: public file_destroyer
- , public boost::interprocess::ipcdetail::managed_open_or_create_impl
- <boost::interprocess::ipcdetail::file_wrapper, 0, true, false>
+ , public mapped_file
{
- typedef boost::interprocess::ipcdetail::managed_open_or_create_impl
- <boost::interprocess::ipcdetail::file_wrapper, 0, true, false> mapped_file;
public:
mapped_file_creation_test_wrapper(boost::interprocess::create_only_t)
: mapped_file(boost::interprocess::create_only, get_filename().c_str(), FileSize, read_write, 0, permissions())
{}
};
+#ifdef BOOST_INTERPROCESS_WCHAR_NAMED_RESOURCES
+
+class mapped_file_creation_test_wrapper_w
+ : public file_destroyer
+ , public mapped_file
+{
+ public:
+ mapped_file_creation_test_wrapper_w(boost::interprocess::create_only_t)
+ : mapped_file(boost::interprocess::create_only, get_wfilename().c_str(), FileSize, read_write, 0, permissions())
+ {}
+
+ mapped_file_creation_test_wrapper_w(boost::interprocess::open_only_t)
+ : mapped_file(boost::interprocess::open_only, get_wfilename().c_str(), read_write, 0)
+ {}
+
+ mapped_file_creation_test_wrapper_w(boost::interprocess::open_or_create_t)
+ : mapped_file(boost::interprocess::open_or_create, get_wfilename().c_str(), FileSize, read_write, 0, permissions())
+ {}
+};
+
+#endif //BOOST_INTERPROCESS_WCHAR_NAMED_RESOURCES
+
int main ()
{
- typedef boost::interprocess::ipcdetail::managed_open_or_create_impl
- <boost::interprocess::ipcdetail::file_wrapper, 0, true, false> mapped_file;
file_mapping::remove(get_filename().c_str());
test::test_named_creation<mapped_file_creation_test_wrapper>();
+ #ifdef BOOST_INTERPROCESS_WCHAR_NAMED_RESOURCES
+ test::test_named_creation<mapped_file_creation_test_wrapper_w>();
+ #endif
//Create and get name, size and address
{