prime/include/Kyoto/Audio/CAudioGroupSet.hpp

53 lines
1.2 KiB
C++

#ifndef _CAUDIOGROUPSET
#define _CAUDIOGROUPSET
#include "Kyoto/TToken.hpp"
#include "rstl/auto_ptr.hpp"
#include "rstl/optional_object.hpp"
#include "rstl/single_ptr.hpp"
#include "rstl/string.hpp"
#include "Kyoto/CResFactory.hpp"
class CInputStream;
class CAudioGrpSetLoc {
public:
CAudioGrpSetLoc(const rstl::auto_ptr< uchar >& data, int length);
const rstl::string& GetBaseDirName() const { return x10_baseDirName; }
const rstl::string& GetGroupSetName() const { return x20_groupSetName; }
void FreeSampleBuffer();
uint AramUsage() const;
const void* GetPool() const;
const void* GetProject() const;
const void* GetSample() const;
const void* GetSampleDir() const;
private:
rstl::auto_ptr< uchar > x0_data;
rstl::auto_ptr< uchar > x8_;
rstl::string x10_baseDirName;
rstl::string x20_groupSetName;
uint x30_;
uint x34_;
uint x38_;
uint x3c_;
uint x40_;
};
class CAudioGroupSet {
public:
CAudioGroupSet(const TLockedToken< CAudioGrpSetLoc >& group);
~CAudioGroupSet();
void Reload();
void FreeSampleBuffer();
void FreeAllBuffers();
private:
rstl::string x0_baseDir;
rstl::string x10_groupSetName;
rstl::optional_object< TLockedToken< CAudioGrpSetLoc > > x20_groupSetTok;
};
#endif // _CAUDIOGROUPSET