PLCnext API Documentation 25.0.2.69
Public Types | Public Member Functions | Static Public Member Functions | List of all members
Arp::Plc::Commons::Esm::RtEventManagerSharedData Class Reference
Inheritance diagram for Arp::Plc::Commons::Esm::RtEventManagerSharedData:
Inheritance graph

Public Types

using Instance = RtEventManagerSharedData
 
using InstancePtr = std::unique_ptr< Instance >
 
- Public Types inherited from Arp::System::Commons::Ipc::SharedData< RtEventManagerSharedData >
using Base = SharedMemory
 
using DerivedType = RtEventManagerSharedData
 
using SharedMemory = boost::interprocess::managed_shared_memory
 
using SegmentManager = SharedMemory::segment_manager
 
using SharedMemoryPermission = boost::interprocess::permissions
 
using Ptr = boost::interprocess::offset_ptr< T >
 
using ConstPtr = boost::interprocess::offset_ptr< const T >
 
using String = boost::interprocess::basic_string< char, std::char_traits< char >, Allocator< char > >
 
using vector = boost::interprocess::vector< T, Allocator< T > >
 
using list = boost::interprocess::list< T, Allocator< T > >
 
using map = boost::interprocess::map< TKey, T, TCompare, Allocator< std::pair< const TKey, T > > >
 
using set = boost::interprocess::set< T, TCompare, Allocator< T > >
 
- Public Types inherited from Arp::System::Commons::Ipc::SharedMemory
using SharedMemoryImpl = boost::interprocess::managed_shared_memory
 
using SegmentManager = SharedMemoryImpl::segment_manager
 
using SharedMemoryPermission = boost::interprocess::permissions
 
template<class T >
using Ptr = boost::interprocess::offset_ptr< T >
 Returned pointer types are shared memory based offset pointer.
 

Public Member Functions

 RtEventManagerSharedData (size_t memorySize)
 
- Public Member Functions inherited from Arp::System::Commons::Ipc::SharedMemory
 SharedMemory (const char *name)
 Opens an existing shared memory. More...
 
 SharedMemory (const char *name, size_t memorySize)
 Creates an non-existing instance, throws if yet exists. More...
 
 SharedMemory (const SharedMemory &arg)=delete
 
 SharedMemory (SharedMemory &&arg) noexcept=delete
 
SharedMemoryoperator= (const SharedMemory &arg)=delete
 
SharedMemoryoperator= (SharedMemory &&arg) noexcept=delete
 
 ~SharedMemory (void)
 Deallocates the memory for this management object but not the memory shared between processes.
 
void Dispose (void)
 Removes the shared memory from the system. if this instance owns it.
 
bool IsOwner (void) const
 Determines if this instance is the woner of the shared memory, i.e. ths shared memory was created by this instance. More...
 
const StringGetName (void) const
 Returns the name of the memory object. More...
 
size_t GetSize (void) const
 Returns the capacity of the shared memory in bytes. More...
 
byte * Allocate (size_t size)
 Tries to allocate size amount of bytes in the memory. More...
 
void Deallocate (byte *pMemory)
 Marks the memory pointed to by pMemory available for new allocation requests. More...
 
template<class T >
Ptr< T > Get (const char *name)
 Tries to find a previously allocated named object. More...
 
template<class T , typename ... TArgs>
Ptr< T > GetOrConstruct (const char *name, TArgs... args)
 Tries to find object identified by name, creates a new one if the object does not exists yet. More...
 
template<class T , typename ... TArgs>
Ptr< T > Construct (const char *name, TArgs... args)
 Creates a named object in the shared memory. More...
 
template<class T >
void Destroy (const char *name)
 Deallocates the object in the shared memory, also calling the objects destructor. More...
 
template<class T , typename ... TArgs>
Ptr< T > ConstructUnnamed (TArgs... args)
 Creates an unnamed object in the shared memory. More...
 
template<class T >
void DestroyUnnamed (SharedMemory::Ptr< T > ptr)
 Deallocates the unnamed object in the shared memory, also calling the objects destructor. More...
 
size_t GetFreeMemory (void) const
 Obtain the number of free bytes in the shared memory. More...
 
void ZeroFreeMemory (void)
 Writes zero in all bytes not yet allocated.
 
bool AllMemoryDeallocated (void)
 Checks if all memory has been deallocated. More...
 
bool CheckSanity (void)
 Performs a sanity check over the shared memory. More...
 

Static Public Member Functions

static InstanceCreateInstance (size_t memorySize)
 
static void OpenInstance (void)
 
static bool IsCreated (void)
 
static void DisposeInstance (void)
 
static InstanceGetInstance (void)
 

Additional Inherited Members

- Protected Member Functions inherited from Arp::System::Commons::Ipc::SharedData< RtEventManagerSharedData >
 SharedData (size_t memorySize)
 
- Protected Attributes inherited from Arp::System::Commons::Ipc::SharedMemory
String memoryName
 Name of memory identifying the shared memory inside the operating system.
 
SharedMemoryImpl sharedMemoryImpl
 Actual implementation of the shared memory functionality.
 

The documentation for this class was generated from the following files: