Max OS 0.3
Loading...
Searching...
No Matches
MaxOS::processes::Resource Class Reference

Represents a generic resource that can be opened, closed, read from and written to. More...

#include <resource.h>

Inheritance diagram for MaxOS::processes::Resource:
MaxOS::filesystem::DirectoryResource MaxOS::filesystem::FileResource MaxOS::processes::SharedMemory MaxOS::processes::SharedMessageEndpoint

Public Member Functions

 Resource (const string &name, size_t flags, resource_type_t type)
 Constructs a new Resource object.
 
string name ()
 Gets the name of this resource.
 
resource_type_t type ()
 Gets the type of this resource.
 
virtual void open (size_t flags)
 Opens the resource.
 
virtual void close (size_t flags)
 Closes the resource.
 
virtual int read (void *buffer, size_t size, size_t flags)
 read a certain amount of bytes from a resource
 
virtual int write (const void *buffer, size_t size, size_t flags)
 write a certain amount of bytes to a resource
 

Detailed Description

Represents a generic resource that can be opened, closed, read from and written to.

Definition at line 29 of file resource.h.

Constructor & Destructor Documentation

◆ Resource()

Resource::Resource ( const string name,
size_t  flags,
resource_type_t  type 
)

Constructs a new Resource object.

Parameters
nameThe name of the resource
flagsThe flags for the resource (unused by default but resource type specific)
typeThe type of the resource

Definition at line 21 of file resource.cpp.

22: m_name(name),
23 m_type(type)
24{
25
26}
string name()
Gets the name of this resource.
Definition resource.cpp:79
resource_type_t type()
Gets the type of this resource.
Definition resource.cpp:88

Member Function Documentation

◆ close()

void Resource::close ( size_t  flags)
virtual

Closes the resource.

Parameters
flagsOptional flags to pass (unused by default but resource type specific)

Reimplemented in MaxOS::processes::SharedMemory.

Definition at line 45 of file resource.cpp.

45 {
46
47}

Referenced by MaxOS::processes::BaseResourceRegistry::close_resource().

◆ name()

string Resource::name ( )

◆ open()

void Resource::open ( size_t  flags)
virtual

Opens the resource.

Parameters
flagsOptional flags to pass (unused by default but resource type specific)

Reimplemented in MaxOS::processes::SharedMemory.

Definition at line 35 of file resource.cpp.

35 {
36
37}

◆ read()

int Resource::read ( void *  buffer,
size_t  size,
size_t  flags 
)
virtual

read a certain amount of bytes from a resource

Parameters
bufferThe buffer to read into
sizeHow many bytes to read
flagsOptional flags to pass (unused by default but resource type specific)
Returns
How many bytes were successfully read (negative can be used as errors)

Reimplemented in MaxOS::filesystem::FileResource, MaxOS::filesystem::DirectoryResource, MaxOS::processes::SharedMemory, and MaxOS::processes::SharedMessageEndpoint.

Definition at line 57 of file resource.cpp.

57 {
58 return 0;
59}

◆ type()

resource_type_t Resource::type ( )

Gets the type of this resource.

Returns
The type

Definition at line 88 of file resource.cpp.

88 {
89
90 return m_type;
91}

Referenced by MaxOS::processes::ResourceManager::close_resource().

◆ write()

int Resource::write ( const void *  buffer,
size_t  size,
size_t  flags 
)
virtual

write a certain amount of bytes to a resource

Parameters
bufferThe buffer to read from
sizeHow many bytes to write
flagsOptional flags to pass (unused by default but resource type specific)
Returns
How many bytes were successfully written

Reimplemented in MaxOS::filesystem::FileResource, MaxOS::filesystem::DirectoryResource, and MaxOS::processes::SharedMessageEndpoint.

Definition at line 69 of file resource.cpp.

69 {
70
71 return 0;
72}

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