Version

    Other Documentation

menu_open
Wwise SDK 2021.1.14
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
 

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 607 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