Foundation
Loading...
Searching...
No Matches
Public Member Functions | List of all members
Foundation::RHI::RHIApplication Class Referenceabstract

The root object of everything RHI. Implementation of this class inherently defines the RHI backend. More...

#include <Application.hpp>

Inheritance diagram for Foundation::RHI::RHIApplication:
Foundation::RHI::RHIObject Foundation::RHI::VulkanApplication

Public Member Functions

 RHIApplication ()=default
 
 RHIApplication (RHIApplication const &)=delete
 
virtual Span< const RHIDevice::DeviceDescEnumerateDevices () const =0
 
virtual RHIApplicationScopedHandle< RHIDeviceCreateDevice (RHIDevice::DeviceDesc const &desc)=0
 
virtual RHIDeviceGetDevice (Handle handle) const =0
 
virtual void DestroyDevice (Handle handle)=0
 
virtual String ResolveRelativePathBase (StringView path="") const =0
 Retrives path relative to the application executable.
 
virtual String ResolveRelativePathData (StringView path="") const =0
 Retrives path that's writable and persistent.
 
virtual Optional< RHIFileInfoQueryFileInfo (StringView path) const =0
 
virtual bool IterateDirectory (StringView path, RHIDirectoryIteratorCallback cb, void *userData) const =0
 Iterate over the files in a directory, calling the provided callback for each file.
 
virtual bool CreateDirectory (StringView path) const =0
 
virtual bool RemoveDirectory (StringView path) const =0
 
virtual bool RemoveFile (StringView path) const =0
 
template<typename T >
bool IterateDirectory (StringView path, T &&cb) const
 Iterate over the files in a directory, calling the provided callback for each file.
 
- Public Member Functions inherited from Foundation::RHI::RHIObject
 RHIObject ()=default
 
 RHIObject (RHIObject const &)=delete
 
RHIObjectoperator= (const RHIObject &)=delete
 
 RHIObject (RHIObject &&)=delete
 
RHIObjectoperator= (RHIObject &&)=delete
 
virtual ~RHIObject ()=default
 

Detailed Description

The root object of everything RHI. Implementation of this class inherently defines the RHI backend.

Constructor & Destructor Documentation

◆ RHIApplication() [1/2]

Foundation::RHI::RHIApplication::RHIApplication ( )
default

◆ RHIApplication() [2/2]

Foundation::RHI::RHIApplication::RHIApplication ( RHIApplication const &  )
delete

Member Function Documentation

◆ CreateDevice()

virtual RHIApplicationScopedHandle< RHIDevice > Foundation::RHI::RHIApplication::CreateDevice ( RHIDevice::DeviceDesc const &  desc)
pure virtual

◆ CreateDirectory()

virtual bool Foundation::RHI::RHIApplication::CreateDirectory ( StringView  path) const
pure virtual

◆ DestroyDevice()

virtual void Foundation::RHI::RHIApplication::DestroyDevice ( Handle  handle)
pure virtual

◆ EnumerateDevices()

virtual Span< const RHIDevice::DeviceDesc > Foundation::RHI::RHIApplication::EnumerateDevices ( ) const
pure virtual

◆ GetDevice()

virtual RHIDevice * Foundation::RHI::RHIApplication::GetDevice ( Handle  handle) const
pure virtual

◆ IterateDirectory() [1/2]

virtual bool Foundation::RHI::RHIApplication::IterateDirectory ( StringView  path,
RHIDirectoryIteratorCallback  cb,
void *  userData 
) const
pure virtual

Iterate over the files in a directory, calling the provided callback for each file.

Parameters
cbCallback invoked per entry; returns true to continue iterating, false to stop.
Returns
false if the directory could not be enumerated.

Implemented in Foundation::RHI::VulkanApplication.

◆ IterateDirectory() [2/2]

template<typename T >
bool Foundation::RHI::RHIApplication::IterateDirectory ( StringView  path,
T &&  cb 
) const
inline

Iterate over the files in a directory, calling the provided callback for each file.

Template Parameters
TLambda taking (StringView directory, StringView file) -> bool Returns true to continue iterating, false to stop.

◆ QueryFileInfo()

virtual Optional< RHIFileInfo > Foundation::RHI::RHIApplication::QueryFileInfo ( StringView  path) const
pure virtual

◆ RemoveDirectory()

virtual bool Foundation::RHI::RHIApplication::RemoveDirectory ( StringView  path) const
pure virtual

◆ RemoveFile()

virtual bool Foundation::RHI::RHIApplication::RemoveFile ( StringView  path) const
pure virtual

◆ ResolveRelativePathBase()

virtual String Foundation::RHI::RHIApplication::ResolveRelativePathBase ( StringView  path = "") const
pure virtual

Retrives path relative to the application executable.

Implemented in Foundation::RHI::VulkanApplication.

◆ ResolveRelativePathData()

virtual String Foundation::RHI::RHIApplication::ResolveRelativePathData ( StringView  path = "") const
pure virtual

Retrives path that's writable and persistent.

Implemented in Foundation::RHI::VulkanApplication.


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