Version

    Other Documentation

menu_open
AK::StreamMgr::IAkFileLocationResolver Class Referenceabstract

#include <AkStreamMgrModule.h>

Public Member Functions

virtual AKRESULT Open (const AkOSChar *in_pszFileName, AkOpenMode in_eOpenMode, AkFileSystemFlags *in_pFlags, bool &io_bSyncOpen, AkFileDesc &io_fileDesc)=0
 
virtual AKRESULT Open (AkFileID in_fileID, AkOpenMode in_eOpenMode, AkFileSystemFlags *in_pFlags, bool &io_bSyncOpen, AkFileDesc &io_fileDesc)=0
 
virtual AKRESULT OutputSearchedPaths (const AKRESULT &in_result, const AkOSChar *in_pszFileName, AkFileSystemFlags *in_pFlags, AkOpenMode in_eOpenMode, AkOSChar *out_searchedPath, AkInt32 in_pathSize)
 This function is called to provide information when file related errors occur. The base paths known by this Resolver should be returned in out_searchedPath. More...
 
virtual AKRESULT OutputSearchedPaths (const AKRESULT &in_result, const AkFileID in_fileID, AkFileSystemFlags *in_pFlags, AkOpenMode in_eOpenMode, AkOSChar *out_searchedPath, AkInt32 in_pathSize)
 

Protected Member Functions

virtual ~IAkFileLocationResolver ()
 Virtual destructor on interface to avoid warnings. More...
 

Detailed Description

File location resolver interface. There is one and only one File Location Resolver that is registered to the Stream Manager (using AK::StreamMgr::SetFileLocationResolver()). Its purpose is to map a file name or ID to 1) a streaming device / I/O hook; 2) a valid file descriptor (AkFileDesc) usable by the I/O hook. When your Low-Level I/O submodule uses a single device, you should create a standalone I/O hook which implements one of the I/O hooks defined above (blocking or deferred), as well as the File Location Resolver. You then register this object to the Stream Manager as the File Location Resolver. If you wish to create multiple devices, then you should have a separate object that implements AK::StreamMgr::IAkFileLocationResolver and registers to the Stream Manager as such. This object will be used to dispatch the file open request to the appropriate device. The strategy you will use to select the correct device is up to you to implement. You may also implement a set of hooks that delegate opening to the next device when they can't find the file requested (like a chain of responsiblity pattern), although this will likely be less efficient.

Definition at line 606 of file AkStreamMgrModule.h.


Was this page helpful?

Need Support?

Questions? Problems? Need more info? Contact us, and we can help!

Visit our Support page

Tell us about your project. We're here to help.

Register your project and we'll help you get started with no strings attached!

Get started with Wwise