Added DSP service serialization
This commit is contained in:
parent
30fe2bfe38
commit
452ae2e371
3 changed files with 34 additions and 1 deletions
2
TODO
2
TODO
|
@ -75,7 +75,7 @@
|
||||||
Also needs archive backend..
|
Also needs archive backend..
|
||||||
✔ CSND @started(19-12-26 17:51) @done(19-12-26 17:56) @lasted(5m30s)
|
✔ CSND @started(19-12-26 17:51) @done(19-12-26 17:56) @lasted(5m30s)
|
||||||
✔ DLP @done(19-12-26 18:02)
|
✔ DLP @done(19-12-26 18:02)
|
||||||
☐ DSP
|
✔ DSP @done(19-12-26 18:10)
|
||||||
☐ ERR
|
☐ ERR
|
||||||
☐ FRD
|
☐ FRD
|
||||||
☐ FS
|
☐ FS
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
// Refer to the license.txt file included.
|
// Refer to the license.txt file included.
|
||||||
|
|
||||||
#include "audio_core/audio_types.h"
|
#include "audio_core/audio_types.h"
|
||||||
|
#include "common/archives.h"
|
||||||
#include "common/assert.h"
|
#include "common/assert.h"
|
||||||
#include "common/logging/log.h"
|
#include "common/logging/log.h"
|
||||||
#include "core/core.h"
|
#include "core/core.h"
|
||||||
|
@ -13,6 +14,19 @@
|
||||||
using DspPipe = AudioCore::DspPipe;
|
using DspPipe = AudioCore::DspPipe;
|
||||||
using InterruptType = Service::DSP::DSP_DSP::InterruptType;
|
using InterruptType = Service::DSP::DSP_DSP::InterruptType;
|
||||||
|
|
||||||
|
SERIALIZE_EXPORT_IMPL(Service::DSP::DSP_DSP)
|
||||||
|
|
||||||
|
namespace boost::serialization {
|
||||||
|
template <class Archive>
|
||||||
|
void load_construct_data(Archive& ar, Service::DSP::DSP_DSP* t, const unsigned int)
|
||||||
|
{
|
||||||
|
::new(t)Service::DSP::DSP_DSP(Core::Global<Core::System>());
|
||||||
|
}
|
||||||
|
|
||||||
|
template
|
||||||
|
void load_construct_data<iarchive>(iarchive& ar, Service::DSP::DSP_DSP* t, const unsigned int);
|
||||||
|
}
|
||||||
|
|
||||||
namespace AudioCore {
|
namespace AudioCore {
|
||||||
enum class DspPipe;
|
enum class DspPipe;
|
||||||
}
|
}
|
||||||
|
|
|
@ -264,8 +264,27 @@ private:
|
||||||
|
|
||||||
/// Each DSP pipe has an associated interrupt
|
/// Each DSP pipe has an associated interrupt
|
||||||
std::array<std::shared_ptr<Kernel::Event>, AudioCore::num_dsp_pipe> pipes = {{}};
|
std::array<std::shared_ptr<Kernel::Event>, AudioCore::num_dsp_pipe> pipes = {{}};
|
||||||
|
|
||||||
|
template <class Archive>
|
||||||
|
void serialize(Archive& ar, const unsigned int)
|
||||||
|
{
|
||||||
|
ar & boost::serialization::base_object<Kernel::SessionRequestHandler>(*this);
|
||||||
|
ar & semaphore_event;
|
||||||
|
ar & preset_semaphore;
|
||||||
|
ar & interrupt_zero;
|
||||||
|
ar & interrupt_one;
|
||||||
|
ar & pipes;
|
||||||
|
}
|
||||||
|
friend class boost::serialization::access;
|
||||||
};
|
};
|
||||||
|
|
||||||
void InstallInterfaces(Core::System& system);
|
void InstallInterfaces(Core::System& system);
|
||||||
|
|
||||||
} // namespace Service::DSP
|
} // namespace Service::DSP
|
||||||
|
|
||||||
|
BOOST_CLASS_EXPORT_KEY(Service::DSP::DSP_DSP)
|
||||||
|
|
||||||
|
namespace boost::serialization {
|
||||||
|
template <class Archive>
|
||||||
|
void load_construct_data(Archive& ar, Service::DSP::DSP_DSP* t, const unsigned int);
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in a new issue