mirror of
				https://github.com/PabloMK7/citra.git
				synced 2025-11-03 23:28:48 +00:00 
			
		
		
		
	clang-format fixes
This commit is contained in:
		
							parent
							
								
									d482fb359c
								
							
						
					
					
						commit
						7b846ffa98
					
				
					 117 changed files with 797 additions and 925 deletions
				
			
		| 
						 | 
				
			
			@ -6,12 +6,12 @@
 | 
			
		|||
#include "common/archives.h"
 | 
			
		||||
#include "common/common_types.h"
 | 
			
		||||
#include "common/logging/log.h"
 | 
			
		||||
#include "core/global.h"
 | 
			
		||||
#include "core/hle/kernel/address_arbiter.h"
 | 
			
		||||
#include "core/hle/kernel/errors.h"
 | 
			
		||||
#include "core/hle/kernel/kernel.h"
 | 
			
		||||
#include "core/hle/kernel/thread.h"
 | 
			
		||||
#include "core/memory.h"
 | 
			
		||||
#include "core/global.h"
 | 
			
		||||
 | 
			
		||||
////////////////////////////////////////////////////////////////////////////////////////////////////
 | 
			
		||||
// Kernel namespace
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -74,11 +74,10 @@ private:
 | 
			
		|||
 | 
			
		||||
    friend class boost::serialization::access;
 | 
			
		||||
    template <class Archive>
 | 
			
		||||
    void serialize(Archive& ar, const unsigned int file_version)
 | 
			
		||||
    {
 | 
			
		||||
        ar & boost::serialization::base_object<Object>(*this);
 | 
			
		||||
        ar & name;
 | 
			
		||||
        ar & waiting_threads;
 | 
			
		||||
    void serialize(Archive& ar, const unsigned int file_version) {
 | 
			
		||||
        ar& boost::serialization::base_object<Object>(*this);
 | 
			
		||||
        ar& name;
 | 
			
		||||
        ar& waiting_threads;
 | 
			
		||||
    }
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -4,6 +4,7 @@
 | 
			
		|||
 | 
			
		||||
#include "common/archives.h"
 | 
			
		||||
#include "common/assert.h"
 | 
			
		||||
#include "core/global.h"
 | 
			
		||||
#include "core/hle/kernel/client_port.h"
 | 
			
		||||
#include "core/hle/kernel/client_session.h"
 | 
			
		||||
#include "core/hle/kernel/errors.h"
 | 
			
		||||
| 
						 | 
				
			
			@ -11,7 +12,6 @@
 | 
			
		|||
#include "core/hle/kernel/object.h"
 | 
			
		||||
#include "core/hle/kernel/server_port.h"
 | 
			
		||||
#include "core/hle/kernel/server_session.h"
 | 
			
		||||
#include "core/global.h"
 | 
			
		||||
 | 
			
		||||
SERIALIZE_EXPORT_IMPL(Kernel::ClientPort)
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -61,17 +61,15 @@ private:
 | 
			
		|||
 | 
			
		||||
    friend class KernelSystem;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
private:
 | 
			
		||||
    friend class boost::serialization::access;
 | 
			
		||||
    template <class Archive>
 | 
			
		||||
    void serialize(Archive& ar, const unsigned int file_version)
 | 
			
		||||
    {
 | 
			
		||||
        ar & boost::serialization::base_object<Object>(*this);
 | 
			
		||||
        ar & server_port;
 | 
			
		||||
        ar & max_sessions;
 | 
			
		||||
        ar & active_sessions;
 | 
			
		||||
        ar & name;
 | 
			
		||||
    void serialize(Archive& ar, const unsigned int file_version) {
 | 
			
		||||
        ar& boost::serialization::base_object<Object>(*this);
 | 
			
		||||
        ar& server_port;
 | 
			
		||||
        ar& max_sessions;
 | 
			
		||||
        ar& active_sessions;
 | 
			
		||||
        ar& name;
 | 
			
		||||
    }
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -2,8 +2,8 @@
 | 
			
		|||
// Licensed under GPLv2 or any later version
 | 
			
		||||
// Refer to the license.txt file included.
 | 
			
		||||
 | 
			
		||||
#include "common/assert.h"
 | 
			
		||||
#include "common/archives.h"
 | 
			
		||||
#include "common/assert.h"
 | 
			
		||||
#include "core/hle/kernel/client_session.h"
 | 
			
		||||
#include "core/hle/kernel/errors.h"
 | 
			
		||||
#include "core/hle/kernel/hle_ipc.h"
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -53,11 +53,10 @@ public:
 | 
			
		|||
private:
 | 
			
		||||
    friend class boost::serialization::access;
 | 
			
		||||
    template <class Archive>
 | 
			
		||||
    void serialize(Archive& ar, const unsigned int file_version)
 | 
			
		||||
    {
 | 
			
		||||
        ar & boost::serialization::base_object<Object>(*this);
 | 
			
		||||
        ar & name;
 | 
			
		||||
        ar & parent;
 | 
			
		||||
    void serialize(Archive& ar, const unsigned int file_version) {
 | 
			
		||||
        ar& boost::serialization::base_object<Object>(*this);
 | 
			
		||||
        ar& name;
 | 
			
		||||
        ar& parent;
 | 
			
		||||
    }
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -60,10 +60,9 @@ private:
 | 
			
		|||
 | 
			
		||||
    friend class boost::serialization::access;
 | 
			
		||||
    template <class Archive>
 | 
			
		||||
    void serialize(Archive& ar, const unsigned int file_version)
 | 
			
		||||
    {
 | 
			
		||||
    void serialize(Archive& ar, const unsigned int file_version) {
 | 
			
		||||
        auto o_config_mem = boost::serialization::binary_object(&config_mem, sizeof(config_mem));
 | 
			
		||||
        ar & o_config_mem;
 | 
			
		||||
        ar& o_config_mem;
 | 
			
		||||
    }
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -5,8 +5,8 @@
 | 
			
		|||
#include <algorithm>
 | 
			
		||||
#include <map>
 | 
			
		||||
#include <vector>
 | 
			
		||||
#include "common/assert.h"
 | 
			
		||||
#include "common/archives.h"
 | 
			
		||||
#include "common/assert.h"
 | 
			
		||||
#include "core/hle/kernel/event.h"
 | 
			
		||||
#include "core/hle/kernel/kernel.h"
 | 
			
		||||
#include "core/hle/kernel/thread.h"
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -53,12 +53,11 @@ private:
 | 
			
		|||
 | 
			
		||||
    friend class boost::serialization::access;
 | 
			
		||||
    template <class Archive>
 | 
			
		||||
    void serialize(Archive& ar, const unsigned int file_version)
 | 
			
		||||
    {
 | 
			
		||||
        ar & boost::serialization::base_object<WaitObject>(*this);
 | 
			
		||||
        ar & reset_type;
 | 
			
		||||
        ar & signaled;
 | 
			
		||||
        ar & name;
 | 
			
		||||
    void serialize(Archive& ar, const unsigned int file_version) {
 | 
			
		||||
        ar& boost::serialization::base_object<WaitObject>(*this);
 | 
			
		||||
        ar& reset_type;
 | 
			
		||||
        ar& signaled;
 | 
			
		||||
        ar& name;
 | 
			
		||||
    }
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -121,12 +121,11 @@ private:
 | 
			
		|||
 | 
			
		||||
    friend class boost::serialization::access;
 | 
			
		||||
    template <class Archive>
 | 
			
		||||
    void serialize(Archive& ar, const unsigned int file_version)
 | 
			
		||||
    {
 | 
			
		||||
        ar & objects;
 | 
			
		||||
        ar & generations;
 | 
			
		||||
        ar & next_generation;
 | 
			
		||||
        ar & next_free_slot;
 | 
			
		||||
    void serialize(Archive& ar, const unsigned int file_version) {
 | 
			
		||||
        ar& objects;
 | 
			
		||||
        ar& generations;
 | 
			
		||||
        ar& next_generation;
 | 
			
		||||
        ar& next_free_slot;
 | 
			
		||||
    }
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -11,10 +11,10 @@
 | 
			
		|||
#include <string>
 | 
			
		||||
#include <vector>
 | 
			
		||||
#include <boost/container/small_vector.hpp>
 | 
			
		||||
#include <boost/serialization/unique_ptr.hpp>
 | 
			
		||||
#include <boost/serialization/shared_ptr.hpp>
 | 
			
		||||
#include <boost/serialization/vector.hpp>
 | 
			
		||||
#include <boost/serialization/assume_abstract.hpp>
 | 
			
		||||
#include <boost/serialization/shared_ptr.hpp>
 | 
			
		||||
#include <boost/serialization/unique_ptr.hpp>
 | 
			
		||||
#include <boost/serialization/vector.hpp>
 | 
			
		||||
#include "common/common_types.h"
 | 
			
		||||
#include "common/swap.h"
 | 
			
		||||
#include "core/hle/ipc.h"
 | 
			
		||||
| 
						 | 
				
			
			@ -74,9 +74,10 @@ public:
 | 
			
		|||
    /// in each service must inherit from this.
 | 
			
		||||
    struct SessionDataBase {
 | 
			
		||||
        virtual ~SessionDataBase() = default;
 | 
			
		||||
 | 
			
		||||
    private:
 | 
			
		||||
        template <class Archive>
 | 
			
		||||
        void serialize(Archive& ar, const unsigned int file_version) { }
 | 
			
		||||
        void serialize(Archive& ar, const unsigned int file_version) {}
 | 
			
		||||
        friend class boost::serialization::access;
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -104,10 +105,9 @@ protected:
 | 
			
		|||
 | 
			
		||||
    private:
 | 
			
		||||
        template <class Archive>
 | 
			
		||||
        void serialize(Archive& ar, const unsigned int file_version)
 | 
			
		||||
        {
 | 
			
		||||
            ar & session;
 | 
			
		||||
            ar & data;
 | 
			
		||||
        void serialize(Archive& ar, const unsigned int file_version) {
 | 
			
		||||
            ar& session;
 | 
			
		||||
            ar& data;
 | 
			
		||||
        }
 | 
			
		||||
        friend class boost::serialization::access;
 | 
			
		||||
    };
 | 
			
		||||
| 
						 | 
				
			
			@ -117,9 +117,8 @@ protected:
 | 
			
		|||
 | 
			
		||||
private:
 | 
			
		||||
    template <class Archive>
 | 
			
		||||
    void serialize(Archive& ar, const unsigned int file_version)
 | 
			
		||||
    {
 | 
			
		||||
        ar & connected_sessions;
 | 
			
		||||
    void serialize(Archive& ar, const unsigned int file_version) {
 | 
			
		||||
        ar& connected_sessions;
 | 
			
		||||
    }
 | 
			
		||||
    friend class boost::serialization::access;
 | 
			
		||||
};
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -30,15 +30,15 @@ struct MappedBufferContext {
 | 
			
		|||
 | 
			
		||||
private:
 | 
			
		||||
    template <class Archive>
 | 
			
		||||
    void serialize(Archive& ar, const unsigned int file_version)
 | 
			
		||||
    {
 | 
			
		||||
        ar & permissions;
 | 
			
		||||
        ar & size;
 | 
			
		||||
        ar & source_address;
 | 
			
		||||
        ar & target_address;
 | 
			
		||||
        // TODO: Check whether we need these. If we do, add a field for the size and/or change to a 'vector'
 | 
			
		||||
        //ar & buffer;
 | 
			
		||||
        //ar & reserve_buffer;
 | 
			
		||||
    void serialize(Archive& ar, const unsigned int file_version) {
 | 
			
		||||
        ar& permissions;
 | 
			
		||||
        ar& size;
 | 
			
		||||
        ar& source_address;
 | 
			
		||||
        ar& target_address;
 | 
			
		||||
        // TODO: Check whether we need these. If we do, add a field for the size and/or change to a
 | 
			
		||||
        // 'vector'
 | 
			
		||||
        // ar & buffer;
 | 
			
		||||
        // ar & reserve_buffer;
 | 
			
		||||
    }
 | 
			
		||||
    friend class boost::serialization::access;
 | 
			
		||||
};
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -104,20 +104,19 @@ void KernelSystem::AddNamedPort(std::string name, std::shared_ptr<ClientPort> po
 | 
			
		|||
}
 | 
			
		||||
 | 
			
		||||
template <class Archive>
 | 
			
		||||
void KernelSystem::serialize(Archive& ar, const unsigned int file_version)
 | 
			
		||||
{
 | 
			
		||||
    ar & memory_regions;
 | 
			
		||||
    ar & named_ports;
 | 
			
		||||
    ar & *current_cpu.get();
 | 
			
		||||
void KernelSystem::serialize(Archive& ar, const unsigned int file_version) {
 | 
			
		||||
    ar& memory_regions;
 | 
			
		||||
    ar& named_ports;
 | 
			
		||||
    ar&* current_cpu.get();
 | 
			
		||||
    // NB: subsystem references and prepare_reschedule_callback are constant
 | 
			
		||||
    ar & *resource_limits.get();
 | 
			
		||||
    ar & next_object_id;
 | 
			
		||||
    ar & *timer_manager.get();
 | 
			
		||||
    ar & next_process_id;
 | 
			
		||||
    ar & process_list;
 | 
			
		||||
    ar & current_process;
 | 
			
		||||
    ar & *thread_manager.get();
 | 
			
		||||
    ar & *config_mem_handler.get();
 | 
			
		||||
    ar&* resource_limits.get();
 | 
			
		||||
    ar& next_object_id;
 | 
			
		||||
    ar&* timer_manager.get();
 | 
			
		||||
    ar& next_process_id;
 | 
			
		||||
    ar& process_list;
 | 
			
		||||
    ar& current_process;
 | 
			
		||||
    ar&* thread_manager.get();
 | 
			
		||||
    ar&* config_mem_handler.get();
 | 
			
		||||
    // Shared page data is read-only at the moment, so doesn't need serializing
 | 
			
		||||
    // Deliberately don't include debugger info to allow debugging through loads
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -7,8 +7,8 @@
 | 
			
		|||
#include <optional>
 | 
			
		||||
#include <boost/icl/interval_set.hpp>
 | 
			
		||||
#include <boost/serialization/set.hpp>
 | 
			
		||||
#include "common/serialization/boost_discrete_interval.hpp"
 | 
			
		||||
#include "common/common_types.h"
 | 
			
		||||
#include "common/serialization/boost_discrete_interval.hpp"
 | 
			
		||||
 | 
			
		||||
namespace Kernel {
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -66,13 +66,12 @@ struct MemoryRegionInfo {
 | 
			
		|||
private:
 | 
			
		||||
    friend class boost::serialization::access;
 | 
			
		||||
    template <class Archive>
 | 
			
		||||
    void serialize(Archive& ar, const unsigned int file_version)
 | 
			
		||||
    {
 | 
			
		||||
        ar & base;
 | 
			
		||||
        ar & size;
 | 
			
		||||
        ar & used;
 | 
			
		||||
    void serialize(Archive& ar, const unsigned int file_version) {
 | 
			
		||||
        ar& base;
 | 
			
		||||
        ar& size;
 | 
			
		||||
        ar& used;
 | 
			
		||||
        // This works because interval_set has exactly one member of type ImplSetT
 | 
			
		||||
        ar & *(reinterpret_cast<IntervalSet::ImplSetT*>(&free_blocks));
 | 
			
		||||
        ar&*(reinterpret_cast<IntervalSet::ImplSetT*>(&free_blocks));
 | 
			
		||||
    }
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -7,12 +7,12 @@
 | 
			
		|||
#include "common/archives.h"
 | 
			
		||||
#include "common/assert.h"
 | 
			
		||||
#include "core/core.h"
 | 
			
		||||
#include "core/global.h"
 | 
			
		||||
#include "core/hle/kernel/errors.h"
 | 
			
		||||
#include "core/hle/kernel/kernel.h"
 | 
			
		||||
#include "core/hle/kernel/mutex.h"
 | 
			
		||||
#include "core/hle/kernel/object.h"
 | 
			
		||||
#include "core/hle/kernel/thread.h"
 | 
			
		||||
#include "core/global.h"
 | 
			
		||||
 | 
			
		||||
SERIALIZE_EXPORT_IMPL(Kernel::Mutex)
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -62,13 +62,12 @@ private:
 | 
			
		|||
 | 
			
		||||
    friend class boost::serialization::access;
 | 
			
		||||
    template <class Archive>
 | 
			
		||||
    void serialize(Archive& ar, const unsigned int file_version)
 | 
			
		||||
    {
 | 
			
		||||
        ar & boost::serialization::base_object<WaitObject>(*this);
 | 
			
		||||
        ar & lock_count;
 | 
			
		||||
        ar & priority;
 | 
			
		||||
        ar & name;
 | 
			
		||||
        ar & holding_thread;
 | 
			
		||||
    void serialize(Archive& ar, const unsigned int file_version) {
 | 
			
		||||
        ar& boost::serialization::base_object<WaitObject>(*this);
 | 
			
		||||
        ar& lock_count;
 | 
			
		||||
        ar& priority;
 | 
			
		||||
        ar& name;
 | 
			
		||||
        ar& holding_thread;
 | 
			
		||||
    }
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -10,10 +10,10 @@
 | 
			
		|||
#include <boost/serialization/access.hpp>
 | 
			
		||||
#include <boost/serialization/assume_abstract.hpp>
 | 
			
		||||
#include <boost/serialization/export.hpp>
 | 
			
		||||
#include "common/serialization/atomic.h"
 | 
			
		||||
#include "common/common_types.h"
 | 
			
		||||
#include "core/hle/kernel/kernel.h"
 | 
			
		||||
#include "common/serialization/atomic.h"
 | 
			
		||||
#include "core/global.h"
 | 
			
		||||
#include "core/hle/kernel/kernel.h"
 | 
			
		||||
 | 
			
		||||
namespace Kernel {
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -72,9 +72,8 @@ private:
 | 
			
		|||
 | 
			
		||||
    friend class boost::serialization::access;
 | 
			
		||||
    template <class Archive>
 | 
			
		||||
    void serialize(Archive& ar, const unsigned int file_version)
 | 
			
		||||
    {
 | 
			
		||||
        ar & object_id;
 | 
			
		||||
    void serialize(Archive& ar, const unsigned int file_version) {
 | 
			
		||||
        ar& object_id;
 | 
			
		||||
    }
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -102,11 +101,10 @@ inline std::shared_ptr<T> DynamicObjectCast(std::shared_ptr<Object> object) {
 | 
			
		|||
 | 
			
		||||
BOOST_SERIALIZATION_ASSUME_ABSTRACT(Kernel::Object)
 | 
			
		||||
 | 
			
		||||
#define CONSTRUCT_KERNEL_OBJECT(T)                                \
 | 
			
		||||
namespace boost::serialization {                                  \
 | 
			
		||||
template<class Archive>                                           \
 | 
			
		||||
inline void load_construct_data(                                  \
 | 
			
		||||
    Archive & ar, T * t, const unsigned int file_version          \
 | 
			
		||||
){                                                                \
 | 
			
		||||
    ::new(t)T(Core::Global<Kernel::KernelSystem>());              \
 | 
			
		||||
}}
 | 
			
		||||
#define CONSTRUCT_KERNEL_OBJECT(T)                                                                 \
 | 
			
		||||
    namespace boost::serialization {                                                               \
 | 
			
		||||
    template <class Archive>                                                                       \
 | 
			
		||||
    inline void load_construct_data(Archive& ar, T* t, const unsigned int file_version) {          \
 | 
			
		||||
        ::new (t) T(Core::Global<Kernel::KernelSystem>());                                         \
 | 
			
		||||
    }                                                                                              \
 | 
			
		||||
    }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -11,6 +11,7 @@
 | 
			
		|||
#include "common/common_funcs.h"
 | 
			
		||||
#include "common/logging/log.h"
 | 
			
		||||
#include "common/serialization/boost_vector.hpp"
 | 
			
		||||
#include "core/global.h"
 | 
			
		||||
#include "core/hle/kernel/errors.h"
 | 
			
		||||
#include "core/hle/kernel/memory.h"
 | 
			
		||||
#include "core/hle/kernel/process.h"
 | 
			
		||||
| 
						 | 
				
			
			@ -18,7 +19,6 @@
 | 
			
		|||
#include "core/hle/kernel/thread.h"
 | 
			
		||||
#include "core/hle/kernel/vm_manager.h"
 | 
			
		||||
#include "core/memory.h"
 | 
			
		||||
#include "core/global.h"
 | 
			
		||||
 | 
			
		||||
SERIALIZE_EXPORT_IMPL(Kernel::Process)
 | 
			
		||||
SERIALIZE_EXPORT_IMPL(Kernel::CodeSet)
 | 
			
		||||
| 
						 | 
				
			
			@ -26,24 +26,25 @@ SERIALIZE_EXPORT_IMPL(Kernel::CodeSet)
 | 
			
		|||
namespace Kernel {
 | 
			
		||||
 | 
			
		||||
template <class Archive>
 | 
			
		||||
void Process::serialize(Archive& ar, const unsigned int file_version)
 | 
			
		||||
{
 | 
			
		||||
    ar & boost::serialization::base_object<Object>(*this);
 | 
			
		||||
    ar & handle_table;
 | 
			
		||||
    ar & codeset;
 | 
			
		||||
    ar & resource_limit;
 | 
			
		||||
    ar & svc_access_mask;
 | 
			
		||||
    ar & handle_table_size;
 | 
			
		||||
    ar & (boost::container::vector<AddressMapping, boost::container::dtl::static_storage_allocator<AddressMapping, 8> >&)address_mappings;
 | 
			
		||||
    ar & flags.raw;
 | 
			
		||||
    ar & kernel_version;
 | 
			
		||||
    ar & ideal_processor;
 | 
			
		||||
    ar & status;
 | 
			
		||||
    ar & process_id;
 | 
			
		||||
    ar & vm_manager;
 | 
			
		||||
    ar & memory_used;
 | 
			
		||||
    ar & memory_region;
 | 
			
		||||
    ar & tls_slots;
 | 
			
		||||
void Process::serialize(Archive& ar, const unsigned int file_version) {
 | 
			
		||||
    ar& boost::serialization::base_object<Object>(*this);
 | 
			
		||||
    ar& handle_table;
 | 
			
		||||
    ar& codeset;
 | 
			
		||||
    ar& resource_limit;
 | 
			
		||||
    ar& svc_access_mask;
 | 
			
		||||
    ar& handle_table_size;
 | 
			
		||||
    ar&(boost::container::vector<
 | 
			
		||||
        AddressMapping, boost::container::dtl::static_storage_allocator<AddressMapping, 8>>&)
 | 
			
		||||
        address_mappings;
 | 
			
		||||
    ar& flags.raw;
 | 
			
		||||
    ar& kernel_version;
 | 
			
		||||
    ar& ideal_processor;
 | 
			
		||||
    ar& status;
 | 
			
		||||
    ar& process_id;
 | 
			
		||||
    ar& vm_manager;
 | 
			
		||||
    ar& memory_used;
 | 
			
		||||
    ar& memory_region;
 | 
			
		||||
    ar& tls_slots;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
SERIALIZE_IMPL(Process)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -11,8 +11,8 @@
 | 
			
		|||
#include <string>
 | 
			
		||||
#include <vector>
 | 
			
		||||
#include <boost/container/static_vector.hpp>
 | 
			
		||||
#include <boost/serialization/vector.hpp>
 | 
			
		||||
#include <boost/serialization/base_object.hpp>
 | 
			
		||||
#include <boost/serialization/vector.hpp>
 | 
			
		||||
#include "common/bit_field.h"
 | 
			
		||||
#include "common/common_types.h"
 | 
			
		||||
#include "core/hle/kernel/handle_table.h"
 | 
			
		||||
| 
						 | 
				
			
			@ -31,12 +31,11 @@ struct AddressMapping {
 | 
			
		|||
private:
 | 
			
		||||
    friend class boost::serialization::access;
 | 
			
		||||
    template <class Archive>
 | 
			
		||||
    void serialize(Archive& ar, const unsigned int file_version)
 | 
			
		||||
    {
 | 
			
		||||
        ar & address;
 | 
			
		||||
        ar & size;
 | 
			
		||||
        ar & read_only;
 | 
			
		||||
        ar & unk_flag;
 | 
			
		||||
    void serialize(Archive& ar, const unsigned int file_version) {
 | 
			
		||||
        ar& address;
 | 
			
		||||
        ar& size;
 | 
			
		||||
        ar& read_only;
 | 
			
		||||
        ar& unk_flag;
 | 
			
		||||
    }
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -76,11 +75,10 @@ public:
 | 
			
		|||
    private:
 | 
			
		||||
        friend class boost::serialization::access;
 | 
			
		||||
        template <class Archive>
 | 
			
		||||
        void serialize(Archive& ar, const unsigned int file_version)
 | 
			
		||||
        {
 | 
			
		||||
            ar & offset;
 | 
			
		||||
            ar & addr;
 | 
			
		||||
            ar & size;
 | 
			
		||||
        void serialize(Archive& ar, const unsigned int file_version) {
 | 
			
		||||
            ar& offset;
 | 
			
		||||
            ar& addr;
 | 
			
		||||
            ar& size;
 | 
			
		||||
        }
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -133,14 +131,13 @@ public:
 | 
			
		|||
private:
 | 
			
		||||
    friend class boost::serialization::access;
 | 
			
		||||
    template <class Archive>
 | 
			
		||||
    void serialize(Archive& ar, const unsigned int file_version)
 | 
			
		||||
    {
 | 
			
		||||
        ar & boost::serialization::base_object<Object>(*this);
 | 
			
		||||
    void serialize(Archive& ar, const unsigned int file_version) {
 | 
			
		||||
        ar& boost::serialization::base_object<Object>(*this);
 | 
			
		||||
        // TODO: memory reference
 | 
			
		||||
        ar & segments;
 | 
			
		||||
        ar & entrypoint;
 | 
			
		||||
        ar & name;
 | 
			
		||||
        ar & program_id;
 | 
			
		||||
        ar& segments;
 | 
			
		||||
        ar& entrypoint;
 | 
			
		||||
        ar& name;
 | 
			
		||||
        ar& program_id;
 | 
			
		||||
    }
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -116,30 +116,30 @@ public:
 | 
			
		|||
private:
 | 
			
		||||
    friend class boost::serialization::access;
 | 
			
		||||
    template <class Archive>
 | 
			
		||||
    void serialize(Archive& ar, const unsigned int file_version)
 | 
			
		||||
    {
 | 
			
		||||
        ar & boost::serialization::base_object<Object>(*this);
 | 
			
		||||
        // NB most of these aren't used at all currently, but we're adding them here for forwards compatibility
 | 
			
		||||
        ar & name;
 | 
			
		||||
        ar & max_priority;
 | 
			
		||||
        ar & max_commit;
 | 
			
		||||
        ar & max_threads;
 | 
			
		||||
        ar & max_events;
 | 
			
		||||
        ar & max_mutexes;
 | 
			
		||||
        ar & max_semaphores;
 | 
			
		||||
        ar & max_timers;
 | 
			
		||||
        ar & max_shared_mems;
 | 
			
		||||
        ar & max_address_arbiters;
 | 
			
		||||
        ar & max_cpu_time;
 | 
			
		||||
        ar & current_commit;
 | 
			
		||||
        ar & current_threads;
 | 
			
		||||
        ar & current_events;
 | 
			
		||||
        ar & current_mutexes;
 | 
			
		||||
        ar & current_semaphores;
 | 
			
		||||
        ar & current_timers;
 | 
			
		||||
        ar & current_shared_mems;
 | 
			
		||||
        ar & current_address_arbiters;
 | 
			
		||||
        ar & current_cpu_time;
 | 
			
		||||
    void serialize(Archive& ar, const unsigned int file_version) {
 | 
			
		||||
        ar& boost::serialization::base_object<Object>(*this);
 | 
			
		||||
        // NB most of these aren't used at all currently, but we're adding them here for forwards
 | 
			
		||||
        // compatibility
 | 
			
		||||
        ar& name;
 | 
			
		||||
        ar& max_priority;
 | 
			
		||||
        ar& max_commit;
 | 
			
		||||
        ar& max_threads;
 | 
			
		||||
        ar& max_events;
 | 
			
		||||
        ar& max_mutexes;
 | 
			
		||||
        ar& max_semaphores;
 | 
			
		||||
        ar& max_timers;
 | 
			
		||||
        ar& max_shared_mems;
 | 
			
		||||
        ar& max_address_arbiters;
 | 
			
		||||
        ar& max_cpu_time;
 | 
			
		||||
        ar& current_commit;
 | 
			
		||||
        ar& current_threads;
 | 
			
		||||
        ar& current_events;
 | 
			
		||||
        ar& current_mutexes;
 | 
			
		||||
        ar& current_semaphores;
 | 
			
		||||
        ar& current_timers;
 | 
			
		||||
        ar& current_shared_mems;
 | 
			
		||||
        ar& current_address_arbiters;
 | 
			
		||||
        ar& current_cpu_time;
 | 
			
		||||
    }
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -160,9 +160,8 @@ private:
 | 
			
		|||
 | 
			
		||||
    friend class boost::serialization::access;
 | 
			
		||||
    template <class Archive>
 | 
			
		||||
    void serialize(Archive& ar, const unsigned int file_version)
 | 
			
		||||
    {
 | 
			
		||||
        ar & resource_limits;
 | 
			
		||||
    void serialize(Archive& ar, const unsigned int file_version) {
 | 
			
		||||
        ar& resource_limits;
 | 
			
		||||
    }
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -2,8 +2,8 @@
 | 
			
		|||
// Licensed under GPLv2 or any later version
 | 
			
		||||
// Refer to the license.txt file included.
 | 
			
		||||
 | 
			
		||||
#include "common/assert.h"
 | 
			
		||||
#include "common/archives.h"
 | 
			
		||||
#include "common/assert.h"
 | 
			
		||||
#include "core/hle/kernel/errors.h"
 | 
			
		||||
#include "core/hle/kernel/kernel.h"
 | 
			
		||||
#include "core/hle/kernel/semaphore.h"
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -5,8 +5,8 @@
 | 
			
		|||
#pragma once
 | 
			
		||||
 | 
			
		||||
#include <string>
 | 
			
		||||
#include <queue>
 | 
			
		||||
#include <boost/serialization/export.hpp>
 | 
			
		||||
#include <queue>
 | 
			
		||||
#include "common/common_types.h"
 | 
			
		||||
#include "core/hle/kernel/object.h"
 | 
			
		||||
#include "core/hle/kernel/wait_object.h"
 | 
			
		||||
| 
						 | 
				
			
			@ -48,12 +48,11 @@ public:
 | 
			
		|||
private:
 | 
			
		||||
    friend class boost::serialization::access;
 | 
			
		||||
    template <class Archive>
 | 
			
		||||
    void serialize(Archive& ar, const unsigned int file_version)
 | 
			
		||||
    {
 | 
			
		||||
        ar & boost::serialization::base_object<WaitObject>(*this);
 | 
			
		||||
        ar & max_count;
 | 
			
		||||
        ar & available_count;
 | 
			
		||||
        ar & name;
 | 
			
		||||
    void serialize(Archive& ar, const unsigned int file_version) {
 | 
			
		||||
        ar& boost::serialization::base_object<WaitObject>(*this);
 | 
			
		||||
        ar& max_count;
 | 
			
		||||
        ar& available_count;
 | 
			
		||||
        ar& name;
 | 
			
		||||
    }
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -7,11 +7,11 @@
 | 
			
		|||
#include "common/assert.h"
 | 
			
		||||
#include "core/hle/kernel/client_port.h"
 | 
			
		||||
#include "core/hle/kernel/errors.h"
 | 
			
		||||
#include "core/hle/kernel/hle_ipc.h"
 | 
			
		||||
#include "core/hle/kernel/object.h"
 | 
			
		||||
#include "core/hle/kernel/server_port.h"
 | 
			
		||||
#include "core/hle/kernel/server_session.h"
 | 
			
		||||
#include "core/hle/kernel/thread.h"
 | 
			
		||||
#include "core/hle/kernel/hle_ipc.h"
 | 
			
		||||
 | 
			
		||||
SERIALIZE_EXPORT_IMPL(Kernel::ServerPort)
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -53,12 +53,11 @@ KernelSystem::PortPair KernelSystem::CreatePortPair(u32 max_sessions, std::strin
 | 
			
		|||
}
 | 
			
		||||
 | 
			
		||||
template <class Archive>
 | 
			
		||||
void ServerPort::serialize(Archive& ar, const unsigned int file_version)
 | 
			
		||||
{
 | 
			
		||||
    ar & boost::serialization::base_object<WaitObject>(*this);
 | 
			
		||||
    ar & name;
 | 
			
		||||
    ar & pending_sessions;
 | 
			
		||||
    ar & hle_handler;
 | 
			
		||||
void ServerPort::serialize(Archive& ar, const unsigned int file_version) {
 | 
			
		||||
    ar& boost::serialization::base_object<WaitObject>(*this);
 | 
			
		||||
    ar& name;
 | 
			
		||||
    ar& pending_sessions;
 | 
			
		||||
    ar& hle_handler;
 | 
			
		||||
}
 | 
			
		||||
SERIALIZE_IMPL(ServerPort)
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -4,13 +4,13 @@
 | 
			
		|||
 | 
			
		||||
#include <tuple>
 | 
			
		||||
#include "common/archives.h"
 | 
			
		||||
#include "core/global.h"
 | 
			
		||||
#include "core/hle/kernel/client_port.h"
 | 
			
		||||
#include "core/hle/kernel/client_session.h"
 | 
			
		||||
#include "core/hle/kernel/hle_ipc.h"
 | 
			
		||||
#include "core/hle/kernel/server_session.h"
 | 
			
		||||
#include "core/hle/kernel/session.h"
 | 
			
		||||
#include "core/hle/kernel/thread.h"
 | 
			
		||||
#include "core/global.h"
 | 
			
		||||
 | 
			
		||||
SERIALIZE_EXPORT_IMPL(Kernel::ServerSession)
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -110,15 +110,14 @@ private:
 | 
			
		|||
 | 
			
		||||
    friend class boost::serialization::access;
 | 
			
		||||
    template <class Archive>
 | 
			
		||||
    void serialize(Archive& ar, const unsigned int file_version)
 | 
			
		||||
    {
 | 
			
		||||
        ar & boost::serialization::base_object<Object>(*this);
 | 
			
		||||
        ar & name;
 | 
			
		||||
        ar & parent;
 | 
			
		||||
        ar & hle_handler;
 | 
			
		||||
        ar & pending_requesting_threads;
 | 
			
		||||
        ar & currently_handling;
 | 
			
		||||
        ar & mapped_buffer_context;
 | 
			
		||||
    void serialize(Archive& ar, const unsigned int file_version) {
 | 
			
		||||
        ar& boost::serialization::base_object<Object>(*this);
 | 
			
		||||
        ar& name;
 | 
			
		||||
        ar& parent;
 | 
			
		||||
        ar& hle_handler;
 | 
			
		||||
        ar& pending_requesting_threads;
 | 
			
		||||
        ar& currently_handling;
 | 
			
		||||
        ar& mapped_buffer_context;
 | 
			
		||||
    }
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -4,22 +4,21 @@
 | 
			
		|||
 | 
			
		||||
#include <boost/serialization/shared_ptr.hpp>
 | 
			
		||||
#include "common/archives.h"
 | 
			
		||||
#include "core/hle/kernel/session.h"
 | 
			
		||||
#include "core/hle/kernel/client_session.h"
 | 
			
		||||
#include "core/hle/kernel/server_session.h"
 | 
			
		||||
#include "core/hle/kernel/client_port.h"
 | 
			
		||||
#include "core/hle/kernel/client_session.h"
 | 
			
		||||
#include "core/hle/kernel/hle_ipc.h"
 | 
			
		||||
#include "core/hle/kernel/server_session.h"
 | 
			
		||||
#include "core/hle/kernel/session.h"
 | 
			
		||||
 | 
			
		||||
SERIALIZE_IMPL(Kernel::Session)
 | 
			
		||||
 | 
			
		||||
namespace Kernel {
 | 
			
		||||
 | 
			
		||||
template <class Archive>
 | 
			
		||||
void Session::serialize(Archive& ar, const unsigned int file_version)
 | 
			
		||||
{
 | 
			
		||||
    ar & client;
 | 
			
		||||
    ar & server;
 | 
			
		||||
    ar & port;
 | 
			
		||||
void Session::serialize(Archive& ar, const unsigned int file_version) {
 | 
			
		||||
    ar& client;
 | 
			
		||||
    ar& server;
 | 
			
		||||
    ar& port;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
} // namespace Kernel
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -5,11 +5,11 @@
 | 
			
		|||
#include <cstring>
 | 
			
		||||
#include "common/archives.h"
 | 
			
		||||
#include "common/logging/log.h"
 | 
			
		||||
#include "core/global.h"
 | 
			
		||||
#include "core/hle/kernel/errors.h"
 | 
			
		||||
#include "core/hle/kernel/memory.h"
 | 
			
		||||
#include "core/hle/kernel/shared_memory.h"
 | 
			
		||||
#include "core/memory.h"
 | 
			
		||||
#include "core/global.h"
 | 
			
		||||
 | 
			
		||||
SERIALIZE_EXPORT_IMPL(Kernel::SharedMemory)
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -107,17 +107,16 @@ private:
 | 
			
		|||
    KernelSystem& kernel;
 | 
			
		||||
 | 
			
		||||
    template <class Archive>
 | 
			
		||||
    void serialize(Archive& ar, const unsigned int file_version)
 | 
			
		||||
    {
 | 
			
		||||
        ar & linear_heap_phys_offset;
 | 
			
		||||
    void serialize(Archive& ar, const unsigned int file_version) {
 | 
			
		||||
        ar& linear_heap_phys_offset;
 | 
			
		||||
        // TODO: backing blocks u8* (this is always FCRAM I think)
 | 
			
		||||
        ar & size;
 | 
			
		||||
        ar & permissions;
 | 
			
		||||
        ar & other_permissions;
 | 
			
		||||
        ar & owner_process;
 | 
			
		||||
        ar & base_address;
 | 
			
		||||
        ar & name;
 | 
			
		||||
        ar & *(reinterpret_cast<MemoryRegionInfo::IntervalSet::ImplSetT*>(&holding_memory));
 | 
			
		||||
        ar& size;
 | 
			
		||||
        ar& permissions;
 | 
			
		||||
        ar& other_permissions;
 | 
			
		||||
        ar& owner_process;
 | 
			
		||||
        ar& base_address;
 | 
			
		||||
        ar& name;
 | 
			
		||||
        ar&*(reinterpret_cast<MemoryRegionInfo::IntervalSet::ImplSetT*>(&holding_memory));
 | 
			
		||||
    }
 | 
			
		||||
    friend class boost::serialization::access;
 | 
			
		||||
};
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -108,10 +108,9 @@ private:
 | 
			
		|||
 | 
			
		||||
    friend class boost::serialization::access;
 | 
			
		||||
    template <class Archive>
 | 
			
		||||
    void serialize(Archive& ar, const unsigned int file_version)
 | 
			
		||||
    {
 | 
			
		||||
    void serialize(Archive& ar, const unsigned int file_version) {
 | 
			
		||||
        auto o_shared_page = boost::serialization::binary_object(&shared_page, sizeof(shared_page));
 | 
			
		||||
        ar & o_shared_page;
 | 
			
		||||
        ar& o_shared_page;
 | 
			
		||||
    }
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -15,6 +15,7 @@
 | 
			
		|||
#include "core/arm/arm_interface.h"
 | 
			
		||||
#include "core/arm/skyeye_common/armstate.h"
 | 
			
		||||
#include "core/core.h"
 | 
			
		||||
#include "core/global.h"
 | 
			
		||||
#include "core/hle/kernel/errors.h"
 | 
			
		||||
#include "core/hle/kernel/handle_table.h"
 | 
			
		||||
#include "core/hle/kernel/kernel.h"
 | 
			
		||||
| 
						 | 
				
			
			@ -24,31 +25,29 @@
 | 
			
		|||
#include "core/hle/kernel/thread.h"
 | 
			
		||||
#include "core/hle/result.h"
 | 
			
		||||
#include "core/memory.h"
 | 
			
		||||
#include "core/global.h"
 | 
			
		||||
 | 
			
		||||
SERIALIZE_EXPORT_IMPL(Kernel::Thread)
 | 
			
		||||
 | 
			
		||||
namespace Kernel {
 | 
			
		||||
 | 
			
		||||
template <class Archive>
 | 
			
		||||
void Thread::serialize(Archive& ar, const unsigned int file_version)
 | 
			
		||||
{
 | 
			
		||||
    ar & *context.get();
 | 
			
		||||
    ar & thread_id;
 | 
			
		||||
    ar & status;
 | 
			
		||||
    ar & entry_point;
 | 
			
		||||
    ar & stack_top;
 | 
			
		||||
    ar & nominal_priority;
 | 
			
		||||
    ar & current_priority;
 | 
			
		||||
    ar & last_running_ticks;
 | 
			
		||||
    ar & processor_id;
 | 
			
		||||
    ar & tls_address;
 | 
			
		||||
    ar & held_mutexes;
 | 
			
		||||
    ar & pending_mutexes;
 | 
			
		||||
    ar & owner_process;
 | 
			
		||||
    ar & wait_objects;
 | 
			
		||||
    ar & wait_address;
 | 
			
		||||
    ar & name;
 | 
			
		||||
void Thread::serialize(Archive& ar, const unsigned int file_version) {
 | 
			
		||||
    ar&* context.get();
 | 
			
		||||
    ar& thread_id;
 | 
			
		||||
    ar& status;
 | 
			
		||||
    ar& entry_point;
 | 
			
		||||
    ar& stack_top;
 | 
			
		||||
    ar& nominal_priority;
 | 
			
		||||
    ar& current_priority;
 | 
			
		||||
    ar& last_running_ticks;
 | 
			
		||||
    ar& processor_id;
 | 
			
		||||
    ar& tls_address;
 | 
			
		||||
    ar& held_mutexes;
 | 
			
		||||
    ar& pending_mutexes;
 | 
			
		||||
    ar& owner_process;
 | 
			
		||||
    ar& wait_objects;
 | 
			
		||||
    ar& wait_address;
 | 
			
		||||
    ar& name;
 | 
			
		||||
    // TODO: How the hell to do wakeup_callback
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -9,10 +9,10 @@
 | 
			
		|||
#include <unordered_map>
 | 
			
		||||
#include <vector>
 | 
			
		||||
#include <boost/container/flat_set.hpp>
 | 
			
		||||
#include <boost/serialization/export.hpp>
 | 
			
		||||
#include <boost/serialization/shared_ptr.hpp>
 | 
			
		||||
#include <boost/serialization/unordered_map.hpp>
 | 
			
		||||
#include <boost/serialization/vector.hpp>
 | 
			
		||||
#include <boost/serialization/export.hpp>
 | 
			
		||||
#include "common/common_types.h"
 | 
			
		||||
#include "common/thread_queue_list.h"
 | 
			
		||||
#include "core/arm/arm_interface.h"
 | 
			
		||||
| 
						 | 
				
			
			@ -152,13 +152,12 @@ private:
 | 
			
		|||
 | 
			
		||||
    friend class boost::serialization::access;
 | 
			
		||||
    template <class Archive>
 | 
			
		||||
    void serialize(Archive& ar, const unsigned int file_version)
 | 
			
		||||
    {
 | 
			
		||||
        ar & next_thread_id;
 | 
			
		||||
        ar & current_thread;
 | 
			
		||||
        ar & ready_queue;
 | 
			
		||||
        ar & wakeup_callback_table;
 | 
			
		||||
        ar & thread_list;
 | 
			
		||||
    void serialize(Archive& ar, const unsigned int file_version) {
 | 
			
		||||
        ar& next_thread_id;
 | 
			
		||||
        ar& current_thread;
 | 
			
		||||
        ar& ready_queue;
 | 
			
		||||
        ar& wakeup_callback_table;
 | 
			
		||||
        ar& thread_list;
 | 
			
		||||
    }
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -8,11 +8,11 @@
 | 
			
		|||
#include "common/assert.h"
 | 
			
		||||
#include "common/logging/log.h"
 | 
			
		||||
#include "core/core.h"
 | 
			
		||||
#include "core/global.h"
 | 
			
		||||
#include "core/hle/kernel/handle_table.h"
 | 
			
		||||
#include "core/hle/kernel/object.h"
 | 
			
		||||
#include "core/hle/kernel/thread.h"
 | 
			
		||||
#include "core/hle/kernel/timer.h"
 | 
			
		||||
#include "core/global.h"
 | 
			
		||||
 | 
			
		||||
SERIALIZE_EXPORT_IMPL(Kernel::Timer)
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -37,10 +37,9 @@ private:
 | 
			
		|||
 | 
			
		||||
    friend class boost::serialization::access;
 | 
			
		||||
    template <class Archive>
 | 
			
		||||
    void serialize(Archive& ar, const unsigned int file_version)
 | 
			
		||||
    {
 | 
			
		||||
        ar & next_timer_callback_id;
 | 
			
		||||
        ar & timer_callback_table;
 | 
			
		||||
    void serialize(Archive& ar, const unsigned int file_version) {
 | 
			
		||||
        ar& next_timer_callback_id;
 | 
			
		||||
        ar& timer_callback_table;
 | 
			
		||||
    }
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -115,14 +114,13 @@ private:
 | 
			
		|||
 | 
			
		||||
    friend class boost::serialization::access;
 | 
			
		||||
    template <class Archive>
 | 
			
		||||
    void serialize(Archive& ar, const unsigned int file_version)
 | 
			
		||||
    {
 | 
			
		||||
        ar & reset_type;
 | 
			
		||||
        ar & initial_delay;
 | 
			
		||||
        ar & interval_delay;
 | 
			
		||||
        ar & signaled;
 | 
			
		||||
        ar & name;
 | 
			
		||||
        ar & callback_id;
 | 
			
		||||
    void serialize(Archive& ar, const unsigned int file_version) {
 | 
			
		||||
        ar& reset_type;
 | 
			
		||||
        ar& initial_delay;
 | 
			
		||||
        ar& interval_delay;
 | 
			
		||||
        ar& signaled;
 | 
			
		||||
        ar& name;
 | 
			
		||||
        ar& callback_id;
 | 
			
		||||
    }
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -86,17 +86,16 @@ struct VirtualMemoryArea {
 | 
			
		|||
private:
 | 
			
		||||
    friend class boost::serialization::access;
 | 
			
		||||
    template <class Archive>
 | 
			
		||||
    void serialize(Archive& ar, const unsigned int file_version)
 | 
			
		||||
    {
 | 
			
		||||
        ar & base;
 | 
			
		||||
        ar & size;
 | 
			
		||||
        ar & type;
 | 
			
		||||
        ar & permissions;
 | 
			
		||||
        ar & meminfo_state;
 | 
			
		||||
    void serialize(Archive& ar, const unsigned int file_version) {
 | 
			
		||||
        ar& base;
 | 
			
		||||
        ar& size;
 | 
			
		||||
        ar& type;
 | 
			
		||||
        ar& permissions;
 | 
			
		||||
        ar& meminfo_state;
 | 
			
		||||
        // TODO: backing memory ref
 | 
			
		||||
        // backing memory can be: Physical/FCRAM pointer, config mem, shared page
 | 
			
		||||
        ar & paddr;
 | 
			
		||||
        ar & mmio_handler;
 | 
			
		||||
        ar& paddr;
 | 
			
		||||
        ar& mmio_handler;
 | 
			
		||||
    }
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -213,27 +212,25 @@ public:
 | 
			
		|||
private:
 | 
			
		||||
    friend class boost::serialization::access;
 | 
			
		||||
    template <class Archive>
 | 
			
		||||
    void save(Archive& ar, const unsigned int file_version) const
 | 
			
		||||
    {
 | 
			
		||||
        ar & vma_map;
 | 
			
		||||
    void save(Archive& ar, const unsigned int file_version) const {
 | 
			
		||||
        ar& vma_map;
 | 
			
		||||
        for (int i = 0; i < page_table.pointers.size(); i++) {
 | 
			
		||||
            ar << memory.GetFCRAMOffset(page_table.pointers[i]);
 | 
			
		||||
        }
 | 
			
		||||
        ar & page_table.special_regions;
 | 
			
		||||
        ar & page_table.attributes;
 | 
			
		||||
        ar& page_table.special_regions;
 | 
			
		||||
        ar& page_table.attributes;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    template <class Archive>
 | 
			
		||||
    void load(Archive& ar, const unsigned int file_version)
 | 
			
		||||
    {
 | 
			
		||||
        ar & vma_map;
 | 
			
		||||
    void load(Archive& ar, const unsigned int file_version) {
 | 
			
		||||
        ar& vma_map;
 | 
			
		||||
        for (int i = 0; i < page_table.pointers.size(); i++) {
 | 
			
		||||
            u32 offset{};
 | 
			
		||||
            ar >> offset;
 | 
			
		||||
            page_table.pointers[i] = memory.GetFCRAMPointer(offset);
 | 
			
		||||
        }
 | 
			
		||||
        ar & page_table.special_regions;
 | 
			
		||||
        ar & page_table.attributes;
 | 
			
		||||
        ar& page_table.special_regions;
 | 
			
		||||
        ar& page_table.attributes;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    BOOST_SERIALIZATION_SPLIT_MEMBER()
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -69,10 +69,9 @@ private:
 | 
			
		|||
private:
 | 
			
		||||
    friend class boost::serialization::access;
 | 
			
		||||
    template <class Archive>
 | 
			
		||||
    void serialize(Archive& ar, const unsigned int file_version)
 | 
			
		||||
    {
 | 
			
		||||
        ar & boost::serialization::base_object<Object>(*this);
 | 
			
		||||
        ar & waiting_threads;
 | 
			
		||||
    void serialize(Archive& ar, const unsigned int file_version) {
 | 
			
		||||
        ar& boost::serialization::base_object<Object>(*this);
 | 
			
		||||
        ar& waiting_threads;
 | 
			
		||||
        // NB: hle_notifier *not* serialized since it's a callback!
 | 
			
		||||
        // Fortunately it's only used in one place (DSP) so we can reconstruct it there
 | 
			
		||||
    }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -3,9 +3,9 @@
 | 
			
		|||
// Refer to the license.txt file included.
 | 
			
		||||
 | 
			
		||||
#include <vector>
 | 
			
		||||
#include "common/archives.h"
 | 
			
		||||
#include "common/common_types.h"
 | 
			
		||||
#include "common/logging/log.h"
 | 
			
		||||
#include "common/archives.h"
 | 
			
		||||
#include "core/core.h"
 | 
			
		||||
#include "core/hle/ipc.h"
 | 
			
		||||
#include "core/hle/ipc_helpers.h"
 | 
			
		||||
| 
						 | 
				
			
			@ -181,12 +181,11 @@ void InstallInterfaces(Core::System& system) {
 | 
			
		|||
}
 | 
			
		||||
 | 
			
		||||
template <class Archive>
 | 
			
		||||
void Module::serialize(Archive& ar, const unsigned int)
 | 
			
		||||
{
 | 
			
		||||
    ar & ac_connected;
 | 
			
		||||
    ar & close_event;
 | 
			
		||||
    ar & connect_event;
 | 
			
		||||
    ar & disconnect_event;
 | 
			
		||||
void Module::serialize(Archive& ar, const unsigned int) {
 | 
			
		||||
    ar& ac_connected;
 | 
			
		||||
    ar& close_event;
 | 
			
		||||
    ar& connect_event;
 | 
			
		||||
    ar& disconnect_event;
 | 
			
		||||
    // default_config is never written to
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -2,8 +2,8 @@
 | 
			
		|||
// Licensed under GPLv2 or any later version
 | 
			
		||||
// Refer to the license.txt file included.
 | 
			
		||||
 | 
			
		||||
#include "core/hle/service/ac/ac_i.h"
 | 
			
		||||
#include "common/archives.h"
 | 
			
		||||
#include "core/hle/service/ac/ac_i.h"
 | 
			
		||||
 | 
			
		||||
namespace Service::AC {
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -2,8 +2,8 @@
 | 
			
		|||
// Licensed under GPLv2 or any later version
 | 
			
		||||
// Refer to the license.txt file included.
 | 
			
		||||
 | 
			
		||||
#include "core/hle/service/ac/ac_u.h"
 | 
			
		||||
#include "common/archives.h"
 | 
			
		||||
#include "core/hle/service/ac/ac_u.h"
 | 
			
		||||
 | 
			
		||||
namespace Service::AC {
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -23,9 +23,10 @@ public:
 | 
			
		|||
    protected:
 | 
			
		||||
        std::shared_ptr<Module> act;
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
private:
 | 
			
		||||
    template <class Archive>
 | 
			
		||||
    inline void serialize(Archive& ar, const unsigned int file_version) { }
 | 
			
		||||
    inline void serialize(Archive& ar, const unsigned int file_version) {}
 | 
			
		||||
    friend class boost::serialization::access;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -2,8 +2,8 @@
 | 
			
		|||
// Licensed under GPLv2 or any later version
 | 
			
		||||
// Refer to the license.txt file included.
 | 
			
		||||
 | 
			
		||||
#include "core/hle/service/act/act_a.h"
 | 
			
		||||
#include "common/archives.h"
 | 
			
		||||
#include "core/hle/service/act/act_a.h"
 | 
			
		||||
 | 
			
		||||
namespace Service::ACT {
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -11,6 +11,7 @@ namespace Service::ACT {
 | 
			
		|||
class ACT_A final : public Module::Interface {
 | 
			
		||||
public:
 | 
			
		||||
    explicit ACT_A(std::shared_ptr<Module> act);
 | 
			
		||||
 | 
			
		||||
private:
 | 
			
		||||
    SERVICE_SERIALIZATION(ACT_A, act, Module)
 | 
			
		||||
};
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -2,8 +2,8 @@
 | 
			
		|||
// Licensed under GPLv2 or any later version
 | 
			
		||||
// Refer to the license.txt file included.
 | 
			
		||||
 | 
			
		||||
#include "core/hle/service/act/act_u.h"
 | 
			
		||||
#include "common/archives.h"
 | 
			
		||||
#include "core/hle/service/act/act_u.h"
 | 
			
		||||
 | 
			
		||||
namespace Service::ACT {
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -11,6 +11,7 @@ namespace Service::ACT {
 | 
			
		|||
class ACT_U final : public Module::Interface {
 | 
			
		||||
public:
 | 
			
		||||
    explicit ACT_U(std::shared_ptr<Module> act);
 | 
			
		||||
 | 
			
		||||
private:
 | 
			
		||||
    SERVICE_SERIALIZATION(ACT_U, act, Module)
 | 
			
		||||
};
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1455,7 +1455,7 @@ Module::Module(Core::System& system) : kernel(system.Kernel()) {
 | 
			
		|||
    system_updater_mutex = system.Kernel().CreateMutex(false, "AM::SystemUpdaterMutex");
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
Module::Module(Kernel::KernelSystem& kernel) : kernel(kernel) { }
 | 
			
		||||
Module::Module(Kernel::KernelSystem& kernel) : kernel(kernel) {}
 | 
			
		||||
 | 
			
		||||
Module::~Module() = default;
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -10,15 +10,15 @@
 | 
			
		|||
#include <string>
 | 
			
		||||
#include <vector>
 | 
			
		||||
#include <boost/serialization/array.hpp>
 | 
			
		||||
#include <boost/serialization/vector.hpp>
 | 
			
		||||
#include <boost/serialization/shared_ptr.hpp>
 | 
			
		||||
#include <boost/serialization/vector.hpp>
 | 
			
		||||
#include "common/common_types.h"
 | 
			
		||||
#include "core/file_sys/cia_container.h"
 | 
			
		||||
#include "core/file_sys/file_backend.h"
 | 
			
		||||
#include "core/global.h"
 | 
			
		||||
#include "core/hle/kernel/mutex.h"
 | 
			
		||||
#include "core/hle/result.h"
 | 
			
		||||
#include "core/hle/service/service.h"
 | 
			
		||||
#include "core/global.h"
 | 
			
		||||
 | 
			
		||||
namespace Core {
 | 
			
		||||
class System;
 | 
			
		||||
| 
						 | 
				
			
			@ -585,11 +585,10 @@ private:
 | 
			
		|||
    std::shared_ptr<Kernel::Mutex> system_updater_mutex;
 | 
			
		||||
 | 
			
		||||
    template <class Archive>
 | 
			
		||||
    void serialize(Archive& ar, const unsigned int)
 | 
			
		||||
    {
 | 
			
		||||
        ar & cia_installing;
 | 
			
		||||
        ar & am_title_list;
 | 
			
		||||
        ar & system_updater_mutex;
 | 
			
		||||
    void serialize(Archive& ar, const unsigned int) {
 | 
			
		||||
        ar& cia_installing;
 | 
			
		||||
        ar& am_title_list;
 | 
			
		||||
        ar& system_updater_mutex;
 | 
			
		||||
    }
 | 
			
		||||
    friend class boost::serialization::access;
 | 
			
		||||
};
 | 
			
		||||
| 
						 | 
				
			
			@ -599,9 +598,8 @@ void InstallInterfaces(Core::System& system);
 | 
			
		|||
} // namespace Service::AM
 | 
			
		||||
 | 
			
		||||
namespace boost::serialization {
 | 
			
		||||
    template <class Archive>
 | 
			
		||||
    inline void load_construct_data(Archive& ar, Service::AM::Module* t, const unsigned int)
 | 
			
		||||
    {
 | 
			
		||||
        ::new(t)Service::AM::Module(Core::Global<Kernel::KernelSystem>());
 | 
			
		||||
    }
 | 
			
		||||
template <class Archive>
 | 
			
		||||
inline void load_construct_data(Archive& ar, Service::AM::Module* t, const unsigned int) {
 | 
			
		||||
    ::new (t) Service::AM::Module(Core::Global<Kernel::KernelSystem>());
 | 
			
		||||
}
 | 
			
		||||
} // namespace boost::serialization
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -2,8 +2,8 @@
 | 
			
		|||
// Licensed under GPLv2 or any later version
 | 
			
		||||
// Refer to the license.txt file included.
 | 
			
		||||
 | 
			
		||||
#include "core/hle/service/am/am_app.h"
 | 
			
		||||
#include "common/archives.h"
 | 
			
		||||
#include "core/hle/service/am/am_app.h"
 | 
			
		||||
 | 
			
		||||
namespace Service::AM {
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -11,6 +11,7 @@ namespace Service::AM {
 | 
			
		|||
class AM_APP final : public Module::Interface {
 | 
			
		||||
public:
 | 
			
		||||
    explicit AM_APP(std::shared_ptr<Module> am);
 | 
			
		||||
 | 
			
		||||
private:
 | 
			
		||||
    SERVICE_SERIALIZATION(AM_APP, am, Module)
 | 
			
		||||
};
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -2,8 +2,8 @@
 | 
			
		|||
// Licensed under GPLv2 or any later version
 | 
			
		||||
// Refer to the license.txt file included.
 | 
			
		||||
 | 
			
		||||
#include "core/hle/service/am/am_net.h"
 | 
			
		||||
#include "common/archives.h"
 | 
			
		||||
#include "core/hle/service/am/am_net.h"
 | 
			
		||||
 | 
			
		||||
namespace Service::AM {
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -11,6 +11,7 @@ namespace Service::AM {
 | 
			
		|||
class AM_NET final : public Module::Interface {
 | 
			
		||||
public:
 | 
			
		||||
    explicit AM_NET(std::shared_ptr<Module> am);
 | 
			
		||||
 | 
			
		||||
private:
 | 
			
		||||
    SERVICE_SERIALIZATION(AM_NET, am, Module)
 | 
			
		||||
};
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -2,8 +2,8 @@
 | 
			
		|||
// Licensed under GPLv2 or any later version
 | 
			
		||||
// Refer to the license.txt file included.
 | 
			
		||||
 | 
			
		||||
#include "core/hle/service/am/am_sys.h"
 | 
			
		||||
#include "common/archives.h"
 | 
			
		||||
#include "core/hle/service/am/am_sys.h"
 | 
			
		||||
 | 
			
		||||
namespace Service::AM {
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -11,6 +11,7 @@ namespace Service::AM {
 | 
			
		|||
class AM_SYS final : public Module::Interface {
 | 
			
		||||
public:
 | 
			
		||||
    explicit AM_SYS(std::shared_ptr<Module> am);
 | 
			
		||||
 | 
			
		||||
private:
 | 
			
		||||
    SERVICE_SERIALIZATION(AM_SYS, am, Module)
 | 
			
		||||
};
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -2,8 +2,8 @@
 | 
			
		|||
// Licensed under GPLv2 or any later version
 | 
			
		||||
// Refer to the license.txt file included.
 | 
			
		||||
 | 
			
		||||
#include "core/hle/service/am/am_u.h"
 | 
			
		||||
#include "common/archives.h"
 | 
			
		||||
#include "core/hle/service/am/am_u.h"
 | 
			
		||||
 | 
			
		||||
namespace Service::AM {
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -11,6 +11,7 @@ namespace Service::AM {
 | 
			
		|||
class AM_U final : public Module::Interface {
 | 
			
		||||
public:
 | 
			
		||||
    explicit AM_U(std::shared_ptr<Module> am);
 | 
			
		||||
 | 
			
		||||
private:
 | 
			
		||||
    SERVICE_SERIALIZATION(AM_U, am, Module)
 | 
			
		||||
};
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -10,10 +10,10 @@
 | 
			
		|||
#include <vector>
 | 
			
		||||
#include <boost/serialization/array.hpp>
 | 
			
		||||
#include "common/serialization/optional.h"
 | 
			
		||||
#include "core/global.h"
 | 
			
		||||
#include "core/hle/kernel/event.h"
 | 
			
		||||
#include "core/hle/result.h"
 | 
			
		||||
#include "core/hle/service/fs/archive.h"
 | 
			
		||||
#include "core/global.h"
 | 
			
		||||
 | 
			
		||||
namespace Core {
 | 
			
		||||
class System;
 | 
			
		||||
| 
						 | 
				
			
			@ -90,13 +90,12 @@ struct MessageParameter {
 | 
			
		|||
 | 
			
		||||
private:
 | 
			
		||||
    template <class Archive>
 | 
			
		||||
    void serialize(Archive& ar, const unsigned int)
 | 
			
		||||
    {
 | 
			
		||||
        ar & sender_id;
 | 
			
		||||
        ar & destination_id;
 | 
			
		||||
        ar & signal;
 | 
			
		||||
        ar & object;
 | 
			
		||||
        ar & buffer;
 | 
			
		||||
    void serialize(Archive& ar, const unsigned int) {
 | 
			
		||||
        ar& sender_id;
 | 
			
		||||
        ar& destination_id;
 | 
			
		||||
        ar& signal;
 | 
			
		||||
        ar& object;
 | 
			
		||||
        ar& buffer;
 | 
			
		||||
    }
 | 
			
		||||
    friend class boost::serialization::access;
 | 
			
		||||
};
 | 
			
		||||
| 
						 | 
				
			
			@ -179,12 +178,11 @@ public:
 | 
			
		|||
 | 
			
		||||
    private:
 | 
			
		||||
        template <class Archive>
 | 
			
		||||
        void serialize(Archive& ar, const unsigned int)
 | 
			
		||||
        {
 | 
			
		||||
            ar & next_title_id;
 | 
			
		||||
            ar & next_media_type;
 | 
			
		||||
            ar & current_title_id;
 | 
			
		||||
            ar & current_media_type;
 | 
			
		||||
        void serialize(Archive& ar, const unsigned int) {
 | 
			
		||||
            ar& next_title_id;
 | 
			
		||||
            ar& next_media_type;
 | 
			
		||||
            ar& current_title_id;
 | 
			
		||||
            ar& current_media_type;
 | 
			
		||||
        }
 | 
			
		||||
        friend class boost::serialization::access;
 | 
			
		||||
    };
 | 
			
		||||
| 
						 | 
				
			
			@ -228,16 +226,15 @@ private:
 | 
			
		|||
 | 
			
		||||
    private:
 | 
			
		||||
        template <class Archive>
 | 
			
		||||
        void serialize(Archive& ar, const unsigned int)
 | 
			
		||||
        {
 | 
			
		||||
            ar & applet_id;
 | 
			
		||||
            ar & slot;
 | 
			
		||||
            ar & title_id;
 | 
			
		||||
            ar & registered;
 | 
			
		||||
            ar & loaded;
 | 
			
		||||
            ar & attributes.raw;
 | 
			
		||||
            ar & notification_event;
 | 
			
		||||
            ar & parameter_event;
 | 
			
		||||
        void serialize(Archive& ar, const unsigned int) {
 | 
			
		||||
            ar& applet_id;
 | 
			
		||||
            ar& slot;
 | 
			
		||||
            ar& title_id;
 | 
			
		||||
            ar& registered;
 | 
			
		||||
            ar& loaded;
 | 
			
		||||
            ar& attributes.raw;
 | 
			
		||||
            ar& notification_event;
 | 
			
		||||
            ar& parameter_event;
 | 
			
		||||
        }
 | 
			
		||||
        friend class boost::serialization::access;
 | 
			
		||||
    };
 | 
			
		||||
| 
						 | 
				
			
			@ -260,12 +257,11 @@ private:
 | 
			
		|||
 | 
			
		||||
private:
 | 
			
		||||
    template <class Archive>
 | 
			
		||||
    void serialize(Archive& ar, const unsigned int)
 | 
			
		||||
    {
 | 
			
		||||
        ar & next_parameter;
 | 
			
		||||
        ar & app_jump_parameters;
 | 
			
		||||
        ar & applet_slots;
 | 
			
		||||
        ar & library_applet_closing_command;
 | 
			
		||||
    void serialize(Archive& ar, const unsigned int) {
 | 
			
		||||
        ar& next_parameter;
 | 
			
		||||
        ar& app_jump_parameters;
 | 
			
		||||
        ar& applet_slots;
 | 
			
		||||
        ar& library_applet_closing_command;
 | 
			
		||||
    }
 | 
			
		||||
    friend class boost::serialization::access;
 | 
			
		||||
};
 | 
			
		||||
| 
						 | 
				
			
			@ -273,9 +269,8 @@ private:
 | 
			
		|||
} // namespace Service::APT
 | 
			
		||||
 | 
			
		||||
namespace boost::serialization {
 | 
			
		||||
    template <class Archive>
 | 
			
		||||
    inline void load_construct_data(Archive& ar, Service::APT::AppletManager* t, const unsigned int)
 | 
			
		||||
    {
 | 
			
		||||
        ::new(t)Service::APT::AppletManager(Core::Global<Core::System>());
 | 
			
		||||
    }
 | 
			
		||||
template <class Archive>
 | 
			
		||||
inline void load_construct_data(Archive& ar, Service::APT::AppletManager* t, const unsigned int) {
 | 
			
		||||
    ::new (t) Service::APT::AppletManager(Core::Global<Core::System>());
 | 
			
		||||
}
 | 
			
		||||
} // namespace boost::serialization
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -2,10 +2,10 @@
 | 
			
		|||
// Licensed under GPLv2 or any later version
 | 
			
		||||
// Refer to the license.txt file included.
 | 
			
		||||
 | 
			
		||||
#include "common/archives.h"
 | 
			
		||||
#include "common/common_paths.h"
 | 
			
		||||
#include "common/file_util.h"
 | 
			
		||||
#include "common/logging/log.h"
 | 
			
		||||
#include "common/archives.h"
 | 
			
		||||
#include "core/core.h"
 | 
			
		||||
#include "core/file_sys/archive_ncch.h"
 | 
			
		||||
#include "core/file_sys/file_backend.h"
 | 
			
		||||
| 
						 | 
				
			
			@ -32,17 +32,16 @@ SERVICE_CONSTRUCT_IMPL(Service::APT::Module)
 | 
			
		|||
namespace Service::APT {
 | 
			
		||||
 | 
			
		||||
template <class Archive>
 | 
			
		||||
void Module::serialize(Archive& ar, const unsigned int)
 | 
			
		||||
{
 | 
			
		||||
    ar & shared_font_mem;
 | 
			
		||||
    ar & shared_font_loaded;
 | 
			
		||||
    ar & shared_font_relocated;
 | 
			
		||||
    ar & lock;
 | 
			
		||||
    ar & cpu_percent;
 | 
			
		||||
    ar & unknown_ns_state_field;
 | 
			
		||||
    ar & screen_capture_buffer;
 | 
			
		||||
    ar & screen_capture_post_permission;
 | 
			
		||||
    ar & applet_manager;
 | 
			
		||||
void Module::serialize(Archive& ar, const unsigned int) {
 | 
			
		||||
    ar& shared_font_mem;
 | 
			
		||||
    ar& shared_font_loaded;
 | 
			
		||||
    ar& shared_font_relocated;
 | 
			
		||||
    ar& lock;
 | 
			
		||||
    ar& cpu_percent;
 | 
			
		||||
    ar& unknown_ns_state_field;
 | 
			
		||||
    ar& screen_capture_buffer;
 | 
			
		||||
    ar& screen_capture_post_permission;
 | 
			
		||||
    ar& applet_manager;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
SERIALIZE_IMPL(Module)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -12,10 +12,9 @@
 | 
			
		|||
#include "common/common_funcs.h"
 | 
			
		||||
#include "common/common_types.h"
 | 
			
		||||
#include "common/swap.h"
 | 
			
		||||
#include "core/hle/kernel/kernel.h"
 | 
			
		||||
#include "core/hle/service/apt/applet_manager.h"
 | 
			
		||||
#include "core/hle/service/service.h"
 | 
			
		||||
#include "core/global.h"
 | 
			
		||||
#include "core/hle/kernel/kernel.h"
 | 
			
		||||
#include "core/hle/service/service.h"
 | 
			
		||||
 | 
			
		||||
namespace Core {
 | 
			
		||||
class System;
 | 
			
		||||
| 
						 | 
				
			
			@ -612,9 +611,8 @@ public:
 | 
			
		|||
 | 
			
		||||
    private:
 | 
			
		||||
        template <class Archive>
 | 
			
		||||
        void serialize(Archive& ar, const unsigned int)
 | 
			
		||||
        {
 | 
			
		||||
            ar & application_reset_prepared;
 | 
			
		||||
        void serialize(Archive& ar, const unsigned int) {
 | 
			
		||||
            ar& application_reset_prepared;
 | 
			
		||||
        }
 | 
			
		||||
        friend class boost::serialization::access;
 | 
			
		||||
    };
 | 
			
		||||
| 
						 | 
				
			
			@ -654,6 +652,6 @@ void InstallInterfaces(Core::System& system);
 | 
			
		|||
} // namespace Service::APT
 | 
			
		||||
 | 
			
		||||
namespace boost::serialization {
 | 
			
		||||
    template <class Archive>
 | 
			
		||||
    void load_construct_data(Archive& ar, Service::APT::Module* t, const unsigned int);
 | 
			
		||||
template <class Archive>
 | 
			
		||||
void load_construct_data(Archive& ar, Service::APT::Module* t, const unsigned int);
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -2,8 +2,8 @@
 | 
			
		|||
// Licensed under GPLv2 or any later version
 | 
			
		||||
// Refer to the license.txt file included.
 | 
			
		||||
 | 
			
		||||
#include "core/hle/service/apt/apt_a.h"
 | 
			
		||||
#include "common/archives.h"
 | 
			
		||||
#include "core/hle/service/apt/apt_a.h"
 | 
			
		||||
 | 
			
		||||
namespace Service::APT {
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -11,6 +11,7 @@ namespace Service::APT {
 | 
			
		|||
class APT_A final : public Module::APTInterface {
 | 
			
		||||
public:
 | 
			
		||||
    explicit APT_A(std::shared_ptr<Module> apt);
 | 
			
		||||
 | 
			
		||||
private:
 | 
			
		||||
    SERVICE_SERIALIZATION(APT_A, apt, Module)
 | 
			
		||||
};
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -2,8 +2,8 @@
 | 
			
		|||
// Licensed under GPLv2 or any later version
 | 
			
		||||
// Refer to the license.txt file included.
 | 
			
		||||
 | 
			
		||||
#include "core/hle/service/apt/apt_s.h"
 | 
			
		||||
#include "common/archives.h"
 | 
			
		||||
#include "core/hle/service/apt/apt_s.h"
 | 
			
		||||
 | 
			
		||||
namespace Service::APT {
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -18,6 +18,7 @@ namespace Service::APT {
 | 
			
		|||
class APT_S final : public Module::APTInterface {
 | 
			
		||||
public:
 | 
			
		||||
    explicit APT_S(std::shared_ptr<Module> apt);
 | 
			
		||||
 | 
			
		||||
private:
 | 
			
		||||
    SERVICE_SERIALIZATION(APT_S, apt, Module)
 | 
			
		||||
};
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -2,8 +2,8 @@
 | 
			
		|||
// Licensed under GPLv2 or any later version
 | 
			
		||||
// Refer to the license.txt file included.
 | 
			
		||||
 | 
			
		||||
#include "core/hle/service/apt/apt_u.h"
 | 
			
		||||
#include "common/archives.h"
 | 
			
		||||
#include "core/hle/service/apt/apt_u.h"
 | 
			
		||||
 | 
			
		||||
namespace Service::APT {
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -18,6 +18,7 @@ namespace Service::APT {
 | 
			
		|||
class APT_U final : public Module::APTInterface {
 | 
			
		||||
public:
 | 
			
		||||
    explicit APT_U(std::shared_ptr<Module> apt);
 | 
			
		||||
 | 
			
		||||
private:
 | 
			
		||||
    SERVICE_SERIALIZATION(APT_U, apt, Module)
 | 
			
		||||
};
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -2,8 +2,8 @@
 | 
			
		|||
// Licensed under GPLv2 or any later version
 | 
			
		||||
// Refer to the license.txt file included.
 | 
			
		||||
 | 
			
		||||
#include "core/hle/service/apt/ns_s.h"
 | 
			
		||||
#include "common/archives.h"
 | 
			
		||||
#include "core/hle/service/apt/ns_s.h"
 | 
			
		||||
 | 
			
		||||
namespace Service::NS {
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -14,6 +14,7 @@ namespace Service::NS {
 | 
			
		|||
class NS_S final : public Service::APT::Module::NSInterface {
 | 
			
		||||
public:
 | 
			
		||||
    explicit NS_S(std::shared_ptr<Service::APT::Module> apt);
 | 
			
		||||
 | 
			
		||||
private:
 | 
			
		||||
    SERVICE_SERIALIZATION(NS_S, apt, Service::APT::Module)
 | 
			
		||||
};
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -6,9 +6,9 @@
 | 
			
		|||
 | 
			
		||||
#include <memory>
 | 
			
		||||
#include <boost/serialization/shared_ptr.hpp>
 | 
			
		||||
#include "core/global.h"
 | 
			
		||||
#include "core/hle/kernel/event.h"
 | 
			
		||||
#include "core/hle/service/service.h"
 | 
			
		||||
#include "core/global.h"
 | 
			
		||||
 | 
			
		||||
namespace Core {
 | 
			
		||||
class System;
 | 
			
		||||
| 
						 | 
				
			
			@ -964,12 +964,11 @@ public:
 | 
			
		|||
        u8 output_flag;
 | 
			
		||||
 | 
			
		||||
        template <class Archive>
 | 
			
		||||
        void serialize(Archive& ar, const unsigned int)
 | 
			
		||||
        {
 | 
			
		||||
            ar & new_arrival_flag;
 | 
			
		||||
            ar & ns_data_new_flag;
 | 
			
		||||
            ar & ns_data_new_flag_privileged;
 | 
			
		||||
            ar & output_flag;
 | 
			
		||||
        void serialize(Archive& ar, const unsigned int) {
 | 
			
		||||
            ar& new_arrival_flag;
 | 
			
		||||
            ar& ns_data_new_flag;
 | 
			
		||||
            ar& ns_data_new_flag_privileged;
 | 
			
		||||
            ar& output_flag;
 | 
			
		||||
        }
 | 
			
		||||
        friend class boost::serialization::access;
 | 
			
		||||
    };
 | 
			
		||||
| 
						 | 
				
			
			@ -978,9 +977,8 @@ private:
 | 
			
		|||
    std::shared_ptr<Kernel::Event> task_finish_event;
 | 
			
		||||
 | 
			
		||||
    template <class Archive>
 | 
			
		||||
    void serialize(Archive& ar, const unsigned int)
 | 
			
		||||
    {
 | 
			
		||||
        ar & task_finish_event;
 | 
			
		||||
    void serialize(Archive& ar, const unsigned int) {
 | 
			
		||||
        ar& task_finish_event;
 | 
			
		||||
    }
 | 
			
		||||
    friend class boost::serialization::access;
 | 
			
		||||
};
 | 
			
		||||
| 
						 | 
				
			
			@ -990,9 +988,8 @@ void InstallInterfaces(Core::System& system);
 | 
			
		|||
} // namespace Service::BOSS
 | 
			
		||||
 | 
			
		||||
namespace boost::serialization {
 | 
			
		||||
    template <class Archive>
 | 
			
		||||
    inline void load_construct_data(Archive& ar, Service::BOSS::Module* t, const unsigned int)
 | 
			
		||||
    {
 | 
			
		||||
        ::new(t)Service::BOSS::Module(Core::Global<Core::System>());
 | 
			
		||||
    }
 | 
			
		||||
template <class Archive>
 | 
			
		||||
inline void load_construct_data(Archive& ar, Service::BOSS::Module* t, const unsigned int) {
 | 
			
		||||
    ::new (t) Service::BOSS::Module(Core::Global<Core::System>());
 | 
			
		||||
}
 | 
			
		||||
} // namespace boost::serialization
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -2,8 +2,8 @@
 | 
			
		|||
// Licensed under GPLv2 or any later version
 | 
			
		||||
// Refer to the license.txt file included.
 | 
			
		||||
 | 
			
		||||
#include "core/hle/service/boss/boss_p.h"
 | 
			
		||||
#include "common/archives.h"
 | 
			
		||||
#include "core/hle/service/boss/boss_p.h"
 | 
			
		||||
 | 
			
		||||
namespace Service::BOSS {
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -2,8 +2,8 @@
 | 
			
		|||
// Licensed under GPLv2 or any later version
 | 
			
		||||
// Refer to the license.txt file included.
 | 
			
		||||
 | 
			
		||||
#include "core/hle/service/boss/boss_u.h"
 | 
			
		||||
#include "common/archives.h"
 | 
			
		||||
#include "core/hle/service/boss/boss_u.h"
 | 
			
		||||
 | 
			
		||||
namespace Service::BOSS {
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -24,11 +24,10 @@
 | 
			
		|||
namespace Service::CAM {
 | 
			
		||||
 | 
			
		||||
template <class Archive>
 | 
			
		||||
void Module::serialize(Archive& ar, const unsigned int)
 | 
			
		||||
{
 | 
			
		||||
    ar & cameras;
 | 
			
		||||
    ar & ports;
 | 
			
		||||
    ar & is_camera_reload_pending;
 | 
			
		||||
void Module::serialize(Archive& ar, const unsigned int) {
 | 
			
		||||
    ar& cameras;
 | 
			
		||||
    ar& ports;
 | 
			
		||||
    ar& is_camera_reload_pending;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
SERIALIZE_IMPL(Module)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -10,9 +10,9 @@
 | 
			
		|||
#include <vector>
 | 
			
		||||
#include "common/common_types.h"
 | 
			
		||||
#include "common/swap.h"
 | 
			
		||||
#include "core/global.h"
 | 
			
		||||
#include "core/hle/result.h"
 | 
			
		||||
#include "core/hle/service/service.h"
 | 
			
		||||
#include "core/global.h"
 | 
			
		||||
 | 
			
		||||
namespace Core {
 | 
			
		||||
class System;
 | 
			
		||||
| 
						 | 
				
			
			@ -183,14 +183,13 @@ struct Resolution {
 | 
			
		|||
 | 
			
		||||
private:
 | 
			
		||||
    template <class Archive>
 | 
			
		||||
    void serialize(Archive& ar, const unsigned int)
 | 
			
		||||
    {
 | 
			
		||||
        ar & width;
 | 
			
		||||
        ar & height;
 | 
			
		||||
        ar & crop_x0;
 | 
			
		||||
        ar & crop_y0;
 | 
			
		||||
        ar & crop_x1;
 | 
			
		||||
        ar & crop_y1;
 | 
			
		||||
    void serialize(Archive& ar, const unsigned int) {
 | 
			
		||||
        ar& width;
 | 
			
		||||
        ar& height;
 | 
			
		||||
        ar& crop_x0;
 | 
			
		||||
        ar& crop_y0;
 | 
			
		||||
        ar& crop_x1;
 | 
			
		||||
        ar& crop_y1;
 | 
			
		||||
    }
 | 
			
		||||
    friend class boost::serialization::access;
 | 
			
		||||
};
 | 
			
		||||
| 
						 | 
				
			
			@ -755,12 +754,11 @@ private:
 | 
			
		|||
 | 
			
		||||
    private:
 | 
			
		||||
        template <class Archive>
 | 
			
		||||
        void serialize(Archive& ar, const unsigned int)
 | 
			
		||||
        {
 | 
			
		||||
            ar & flip;
 | 
			
		||||
            ar & effect;
 | 
			
		||||
            ar & format;
 | 
			
		||||
            ar & resolution;
 | 
			
		||||
        void serialize(Archive& ar, const unsigned int) {
 | 
			
		||||
            ar& flip;
 | 
			
		||||
            ar& effect;
 | 
			
		||||
            ar& format;
 | 
			
		||||
            ar& resolution;
 | 
			
		||||
        }
 | 
			
		||||
        friend class boost::serialization::access;
 | 
			
		||||
    };
 | 
			
		||||
| 
						 | 
				
			
			@ -773,12 +771,11 @@ private:
 | 
			
		|||
 | 
			
		||||
    private:
 | 
			
		||||
        template <class Archive>
 | 
			
		||||
        void serialize(Archive& ar, const unsigned int)
 | 
			
		||||
        {
 | 
			
		||||
            ar & impl;
 | 
			
		||||
            ar & contexts;
 | 
			
		||||
            ar & current_context;
 | 
			
		||||
            ar & frame_rate;
 | 
			
		||||
        void serialize(Archive& ar, const unsigned int) {
 | 
			
		||||
            ar& impl;
 | 
			
		||||
            ar& contexts;
 | 
			
		||||
            ar& current_context;
 | 
			
		||||
            ar& frame_rate;
 | 
			
		||||
        }
 | 
			
		||||
        friend class boost::serialization::access;
 | 
			
		||||
    };
 | 
			
		||||
| 
						 | 
				
			
			@ -818,27 +815,26 @@ private:
 | 
			
		|||
 | 
			
		||||
    private:
 | 
			
		||||
        template <class Archive>
 | 
			
		||||
        void serialize(Archive& ar, const unsigned int)
 | 
			
		||||
        {
 | 
			
		||||
            ar & camera_id;
 | 
			
		||||
            ar & is_active;
 | 
			
		||||
            ar & is_pending_receiving;
 | 
			
		||||
            ar & is_busy;
 | 
			
		||||
            ar & is_receiving;
 | 
			
		||||
            ar & is_trimming;
 | 
			
		||||
            ar & x0;
 | 
			
		||||
            ar & y0;
 | 
			
		||||
            ar & x1;
 | 
			
		||||
            ar & y1;
 | 
			
		||||
            ar & transfer_bytes;
 | 
			
		||||
            ar & completion_event;
 | 
			
		||||
            ar & buffer_error_interrupt_event;
 | 
			
		||||
            ar & vsync_interrupt_event;
 | 
			
		||||
        void serialize(Archive& ar, const unsigned int) {
 | 
			
		||||
            ar& camera_id;
 | 
			
		||||
            ar& is_active;
 | 
			
		||||
            ar& is_pending_receiving;
 | 
			
		||||
            ar& is_busy;
 | 
			
		||||
            ar& is_receiving;
 | 
			
		||||
            ar& is_trimming;
 | 
			
		||||
            ar& x0;
 | 
			
		||||
            ar& y0;
 | 
			
		||||
            ar& x1;
 | 
			
		||||
            ar& y1;
 | 
			
		||||
            ar& transfer_bytes;
 | 
			
		||||
            ar& completion_event;
 | 
			
		||||
            ar& buffer_error_interrupt_event;
 | 
			
		||||
            ar& vsync_interrupt_event;
 | 
			
		||||
            // TODO: Check if this is ever needed:
 | 
			
		||||
            //ar & capture_result;
 | 
			
		||||
            ar & dest_process;
 | 
			
		||||
            ar & dest;
 | 
			
		||||
            ar & dest_size;
 | 
			
		||||
            // ar & capture_result;
 | 
			
		||||
            ar& dest_process;
 | 
			
		||||
            ar& dest;
 | 
			
		||||
            ar& dest_size;
 | 
			
		||||
        }
 | 
			
		||||
        friend class boost::serialization::access;
 | 
			
		||||
    };
 | 
			
		||||
| 
						 | 
				
			
			@ -864,9 +860,8 @@ void InstallInterfaces(Core::System& system);
 | 
			
		|||
} // namespace Service::CAM
 | 
			
		||||
 | 
			
		||||
namespace boost::serialization {
 | 
			
		||||
    template <class Archive>
 | 
			
		||||
    inline void load_construct_data(Archive& ar, Service::CAM::Module* t, const unsigned int)
 | 
			
		||||
    {
 | 
			
		||||
        ::new(t)Service::CAM::Module(Core::Global<Core::System>());
 | 
			
		||||
    }
 | 
			
		||||
template <class Archive>
 | 
			
		||||
inline void load_construct_data(Archive& ar, Service::CAM::Module* t, const unsigned int) {
 | 
			
		||||
    ::new (t) Service::CAM::Module(Core::Global<Core::System>());
 | 
			
		||||
}
 | 
			
		||||
} // namespace boost::serialization
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -2,9 +2,9 @@
 | 
			
		|||
// Licensed under GPLv2 or any later version
 | 
			
		||||
// Refer to the license.txt file included.
 | 
			
		||||
 | 
			
		||||
#include "common/archives.h"
 | 
			
		||||
#include "core/hle/service/cam/cam.h"
 | 
			
		||||
#include "core/hle/service/cam/cam_c.h"
 | 
			
		||||
#include "common/archives.h"
 | 
			
		||||
 | 
			
		||||
namespace Service::CAM {
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -2,8 +2,8 @@
 | 
			
		|||
// Licensed under GPLv2 or any later version
 | 
			
		||||
// Refer to the license.txt file included.
 | 
			
		||||
 | 
			
		||||
#include "core/hle/service/cam/cam_q.h"
 | 
			
		||||
#include "common/archives.h"
 | 
			
		||||
#include "core/hle/service/cam/cam_q.h"
 | 
			
		||||
 | 
			
		||||
namespace Service::CAM {
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -11,11 +11,11 @@ namespace Service::CAM {
 | 
			
		|||
class CAM_Q : public ServiceFramework<CAM_Q> {
 | 
			
		||||
public:
 | 
			
		||||
    CAM_Q();
 | 
			
		||||
 | 
			
		||||
private:
 | 
			
		||||
    template <class Archive>
 | 
			
		||||
    void serialize(Archive& ar, const unsigned int)
 | 
			
		||||
    {
 | 
			
		||||
        ar & boost::serialization::base_object<Kernel::SessionRequestHandler>(*this);
 | 
			
		||||
    void serialize(Archive& ar, const unsigned int) {
 | 
			
		||||
        ar& boost::serialization::base_object<Kernel::SessionRequestHandler>(*this);
 | 
			
		||||
    }
 | 
			
		||||
    friend class boost::serialization::access;
 | 
			
		||||
};
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -2,9 +2,9 @@
 | 
			
		|||
// Licensed under GPLv2 or any later version
 | 
			
		||||
// Refer to the license.txt file included.
 | 
			
		||||
 | 
			
		||||
#include "common/archives.h"
 | 
			
		||||
#include "core/hle/service/cam/cam.h"
 | 
			
		||||
#include "core/hle/service/cam/cam_s.h"
 | 
			
		||||
#include "common/archives.h"
 | 
			
		||||
 | 
			
		||||
namespace Service::CAM {
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -2,9 +2,9 @@
 | 
			
		|||
// Licensed under GPLv2 or any later version
 | 
			
		||||
// Refer to the license.txt file included.
 | 
			
		||||
 | 
			
		||||
#include "common/archives.h"
 | 
			
		||||
#include "core/hle/service/cam/cam.h"
 | 
			
		||||
#include "core/hle/service/cam/cam_u.h"
 | 
			
		||||
#include "common/archives.h"
 | 
			
		||||
 | 
			
		||||
namespace Service::CAM {
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -38,10 +38,9 @@ struct AdpcmState {
 | 
			
		|||
 | 
			
		||||
private:
 | 
			
		||||
    template <class Archive>
 | 
			
		||||
    void serialize(Archive& ar, const unsigned int)
 | 
			
		||||
    {
 | 
			
		||||
        ar & predictor;
 | 
			
		||||
        ar & step_index;
 | 
			
		||||
    void serialize(Archive& ar, const unsigned int) {
 | 
			
		||||
        ar& predictor;
 | 
			
		||||
        ar& step_index;
 | 
			
		||||
    }
 | 
			
		||||
    friend class boost::serialization::access;
 | 
			
		||||
};
 | 
			
		||||
| 
						 | 
				
			
			@ -66,24 +65,23 @@ struct Channel {
 | 
			
		|||
 | 
			
		||||
private:
 | 
			
		||||
    template <class Archive>
 | 
			
		||||
    void serialize(Archive& ar, const unsigned int)
 | 
			
		||||
    {
 | 
			
		||||
        ar & block1_address;
 | 
			
		||||
        ar & block2_address;
 | 
			
		||||
        ar & block1_size;
 | 
			
		||||
        ar & block2_size;
 | 
			
		||||
        ar & block1_adpcm_state;
 | 
			
		||||
        ar & block2_adpcm_state;
 | 
			
		||||
        ar & block2_adpcm_reload;
 | 
			
		||||
        ar & left_channel_volume;
 | 
			
		||||
        ar & right_channel_volume;
 | 
			
		||||
        ar & left_capture_volume;
 | 
			
		||||
        ar & right_capture_volume;
 | 
			
		||||
        ar & sample_rate;
 | 
			
		||||
        ar & linear_interpolation;
 | 
			
		||||
        ar & loop_mode;
 | 
			
		||||
        ar & encoding;
 | 
			
		||||
        ar & psg_duty;
 | 
			
		||||
    void serialize(Archive& ar, const unsigned int) {
 | 
			
		||||
        ar& block1_address;
 | 
			
		||||
        ar& block2_address;
 | 
			
		||||
        ar& block1_size;
 | 
			
		||||
        ar& block2_size;
 | 
			
		||||
        ar& block1_adpcm_state;
 | 
			
		||||
        ar& block2_adpcm_state;
 | 
			
		||||
        ar& block2_adpcm_reload;
 | 
			
		||||
        ar& left_channel_volume;
 | 
			
		||||
        ar& right_channel_volume;
 | 
			
		||||
        ar& left_capture_volume;
 | 
			
		||||
        ar& right_capture_volume;
 | 
			
		||||
        ar& sample_rate;
 | 
			
		||||
        ar& linear_interpolation;
 | 
			
		||||
        ar& loop_mode;
 | 
			
		||||
        ar& encoding;
 | 
			
		||||
        ar& psg_duty;
 | 
			
		||||
    }
 | 
			
		||||
    friend class boost::serialization::access;
 | 
			
		||||
};
 | 
			
		||||
| 
						 | 
				
			
			@ -258,18 +256,17 @@ private:
 | 
			
		|||
    u32 acquired_channel_mask = 0;
 | 
			
		||||
 | 
			
		||||
    template <class Archive>
 | 
			
		||||
    void serialize(Archive& ar, const unsigned int)
 | 
			
		||||
    {
 | 
			
		||||
        ar & boost::serialization::base_object<Kernel::SessionRequestHandler>(*this);
 | 
			
		||||
        ar & mutex;
 | 
			
		||||
        ar & shared_memory;
 | 
			
		||||
        ar & capture_units;
 | 
			
		||||
        ar & channels;
 | 
			
		||||
        ar & master_state_offset;
 | 
			
		||||
        ar & channel_state_offset;
 | 
			
		||||
        ar & capture_state_offset;
 | 
			
		||||
        ar & type1_command_offset;
 | 
			
		||||
        ar & acquired_channel_mask;
 | 
			
		||||
    void serialize(Archive& ar, const unsigned int) {
 | 
			
		||||
        ar& boost::serialization::base_object<Kernel::SessionRequestHandler>(*this);
 | 
			
		||||
        ar& mutex;
 | 
			
		||||
        ar& shared_memory;
 | 
			
		||||
        ar& capture_units;
 | 
			
		||||
        ar& channels;
 | 
			
		||||
        ar& master_state_offset;
 | 
			
		||||
        ar& channel_state_offset;
 | 
			
		||||
        ar& capture_state_offset;
 | 
			
		||||
        ar& type1_command_offset;
 | 
			
		||||
        ar& acquired_channel_mask;
 | 
			
		||||
    }
 | 
			
		||||
    friend class boost::serialization::access;
 | 
			
		||||
};
 | 
			
		||||
| 
						 | 
				
			
			@ -282,6 +279,6 @@ void InstallInterfaces(Core::System& system);
 | 
			
		|||
BOOST_CLASS_EXPORT_KEY(Service::CSND::CSND_SND)
 | 
			
		||||
 | 
			
		||||
namespace boost::serialization {
 | 
			
		||||
    template <class Archive>
 | 
			
		||||
    void load_construct_data(Archive& ar, Service::CSND::CSND_SND* t, const unsigned int);
 | 
			
		||||
template <class Archive>
 | 
			
		||||
void load_construct_data(Archive& ar, Service::CSND::CSND_SND* t, const unsigned int);
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -2,9 +2,9 @@
 | 
			
		|||
// Licensed under GPLv2 or any later version
 | 
			
		||||
// Refer to the license.txt file included.
 | 
			
		||||
 | 
			
		||||
#include "common/archives.h"
 | 
			
		||||
#include "core/hle/ipc_helpers.h"
 | 
			
		||||
#include "core/hle/service/dlp/dlp_clnt.h"
 | 
			
		||||
#include "common/archives.h"
 | 
			
		||||
 | 
			
		||||
SERIALIZE_EXPORT_IMPL(Service::DLP::DLP_CLNT)
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -12,11 +12,11 @@ class DLP_CLNT final : public ServiceFramework<DLP_CLNT> {
 | 
			
		|||
public:
 | 
			
		||||
    DLP_CLNT();
 | 
			
		||||
    ~DLP_CLNT() = default;
 | 
			
		||||
 | 
			
		||||
private:
 | 
			
		||||
    template <class Archive>
 | 
			
		||||
    void serialize(Archive& ar, const unsigned int)
 | 
			
		||||
    {
 | 
			
		||||
        ar & boost::serialization::base_object<Kernel::SessionRequestHandler>(*this);
 | 
			
		||||
    void serialize(Archive& ar, const unsigned int) {
 | 
			
		||||
        ar& boost::serialization::base_object<Kernel::SessionRequestHandler>(*this);
 | 
			
		||||
    }
 | 
			
		||||
    friend class boost::serialization::access;
 | 
			
		||||
};
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -2,9 +2,9 @@
 | 
			
		|||
// Licensed under GPLv2 or any later version
 | 
			
		||||
// Refer to the license.txt file included.
 | 
			
		||||
 | 
			
		||||
#include "common/archives.h"
 | 
			
		||||
#include "core/hle/ipc_helpers.h"
 | 
			
		||||
#include "core/hle/service/dlp/dlp_fkcl.h"
 | 
			
		||||
#include "common/archives.h"
 | 
			
		||||
 | 
			
		||||
SERIALIZE_EXPORT_IMPL(Service::DLP::DLP_FKCL)
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -12,11 +12,11 @@ class DLP_FKCL final : public ServiceFramework<DLP_FKCL> {
 | 
			
		|||
public:
 | 
			
		||||
    DLP_FKCL();
 | 
			
		||||
    ~DLP_FKCL() = default;
 | 
			
		||||
 | 
			
		||||
private:
 | 
			
		||||
    template <class Archive>
 | 
			
		||||
    void serialize(Archive& ar, const unsigned int)
 | 
			
		||||
    {
 | 
			
		||||
        ar & boost::serialization::base_object<Kernel::SessionRequestHandler>(*this);
 | 
			
		||||
    void serialize(Archive& ar, const unsigned int) {
 | 
			
		||||
        ar& boost::serialization::base_object<Kernel::SessionRequestHandler>(*this);
 | 
			
		||||
    }
 | 
			
		||||
    friend class boost::serialization::access;
 | 
			
		||||
};
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -2,12 +2,12 @@
 | 
			
		|||
// Licensed under GPLv2 or any later version
 | 
			
		||||
// Refer to the license.txt file included.
 | 
			
		||||
 | 
			
		||||
#include "common/archives.h"
 | 
			
		||||
#include "common/common_types.h"
 | 
			
		||||
#include "common/logging/log.h"
 | 
			
		||||
#include "core/hle/ipc_helpers.h"
 | 
			
		||||
#include "core/hle/result.h"
 | 
			
		||||
#include "core/hle/service/dlp/dlp_srvr.h"
 | 
			
		||||
#include "common/archives.h"
 | 
			
		||||
 | 
			
		||||
SERIALIZE_EXPORT_IMPL(Service::DLP::DLP_SRVR)
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -17,9 +17,8 @@ private:
 | 
			
		|||
    void IsChild(Kernel::HLERequestContext& ctx);
 | 
			
		||||
 | 
			
		||||
    template <class Archive>
 | 
			
		||||
    void serialize(Archive& ar, const unsigned int)
 | 
			
		||||
    {
 | 
			
		||||
        ar & boost::serialization::base_object<Kernel::SessionRequestHandler>(*this);
 | 
			
		||||
    void serialize(Archive& ar, const unsigned int) {
 | 
			
		||||
        ar& boost::serialization::base_object<Kernel::SessionRequestHandler>(*this);
 | 
			
		||||
    }
 | 
			
		||||
    friend class boost::serialization::access;
 | 
			
		||||
};
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -266,14 +266,13 @@ private:
 | 
			
		|||
    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;
 | 
			
		||||
    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;
 | 
			
		||||
};
 | 
			
		||||
| 
						 | 
				
			
			@ -285,6 +284,6 @@ void InstallInterfaces(Core::System& system);
 | 
			
		|||
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);
 | 
			
		||||
template <class Archive>
 | 
			
		||||
void load_construct_data(Archive& ar, Service::DSP::DSP_DSP* t, const unsigned int);
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -20,16 +20,15 @@
 | 
			
		|||
SERIALIZE_EXPORT_IMPL(Service::ERR::ERR_F)
 | 
			
		||||
 | 
			
		||||
namespace boost::serialization {
 | 
			
		||||
    template <class Archive>
 | 
			
		||||
    void load_construct_data(Archive& ar, Service::ERR::ERR_F* t, const unsigned int)
 | 
			
		||||
    {
 | 
			
		||||
        ::new(t)Service::ERR::ERR_F(Core::Global<Core::System>());
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    template
 | 
			
		||||
    void load_construct_data<iarchive>(iarchive& ar, Service::ERR::ERR_F* t, const unsigned int);
 | 
			
		||||
template <class Archive>
 | 
			
		||||
void load_construct_data(Archive& ar, Service::ERR::ERR_F* t, const unsigned int) {
 | 
			
		||||
    ::new (t) Service::ERR::ERR_F(Core::Global<Core::System>());
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
template void load_construct_data<iarchive>(iarchive& ar, Service::ERR::ERR_F* t,
 | 
			
		||||
                                            const unsigned int);
 | 
			
		||||
} // namespace boost::serialization
 | 
			
		||||
 | 
			
		||||
namespace Service::ERR {
 | 
			
		||||
 | 
			
		||||
enum class FatalErrType : u32 {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -36,9 +36,8 @@ private:
 | 
			
		|||
    Core::System& system;
 | 
			
		||||
 | 
			
		||||
    template <class Archive>
 | 
			
		||||
    void serialize(Archive& ar, const unsigned int)
 | 
			
		||||
    {
 | 
			
		||||
        ar & boost::serialization::base_object<Kernel::SessionRequestHandler>(*this);
 | 
			
		||||
    void serialize(Archive& ar, const unsigned int) {
 | 
			
		||||
        ar& boost::serialization::base_object<Kernel::SessionRequestHandler>(*this);
 | 
			
		||||
    }
 | 
			
		||||
    friend class boost::serialization::access;
 | 
			
		||||
};
 | 
			
		||||
| 
						 | 
				
			
			@ -50,6 +49,6 @@ void InstallInterfaces(Core::System& system);
 | 
			
		|||
BOOST_CLASS_EXPORT_KEY(Service::ERR::ERR_F)
 | 
			
		||||
 | 
			
		||||
namespace boost::serialization {
 | 
			
		||||
    template <class Archive>
 | 
			
		||||
    void load_construct_data(Archive& ar, Service::ERR::ERR_F* t, const unsigned int);
 | 
			
		||||
template <class Archive>
 | 
			
		||||
void load_construct_data(Archive& ar, Service::ERR::ERR_F* t, const unsigned int);
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -21,11 +21,10 @@ struct FriendKey {
 | 
			
		|||
 | 
			
		||||
private:
 | 
			
		||||
    template <class Archive>
 | 
			
		||||
    void serialize(Archive& ar, const unsigned int)
 | 
			
		||||
    {
 | 
			
		||||
        ar & friend_id;
 | 
			
		||||
        ar & unknown;
 | 
			
		||||
        ar & friend_code;
 | 
			
		||||
    void serialize(Archive& ar, const unsigned int) {
 | 
			
		||||
        ar& friend_id;
 | 
			
		||||
        ar& unknown;
 | 
			
		||||
        ar& friend_code;
 | 
			
		||||
    }
 | 
			
		||||
    friend class boost::serialization::access;
 | 
			
		||||
};
 | 
			
		||||
| 
						 | 
				
			
			@ -35,9 +34,8 @@ struct MyPresence {
 | 
			
		|||
 | 
			
		||||
private:
 | 
			
		||||
    template <class Archive>
 | 
			
		||||
    void serialize(Archive& ar, const unsigned int)
 | 
			
		||||
    {
 | 
			
		||||
        ar & unknown;
 | 
			
		||||
    void serialize(Archive& ar, const unsigned int) {
 | 
			
		||||
        ar& unknown;
 | 
			
		||||
    }
 | 
			
		||||
    friend class boost::serialization::access;
 | 
			
		||||
};
 | 
			
		||||
| 
						 | 
				
			
			@ -157,10 +155,9 @@ private:
 | 
			
		|||
    MyPresence my_presence = {};
 | 
			
		||||
 | 
			
		||||
    template <class Archive>
 | 
			
		||||
    void serialize(Archive& ar, const unsigned int)
 | 
			
		||||
    {
 | 
			
		||||
        ar & my_friend_key;
 | 
			
		||||
        ar & my_presence;
 | 
			
		||||
    void serialize(Archive& ar, const unsigned int) {
 | 
			
		||||
        ar& my_friend_key;
 | 
			
		||||
        ar& my_presence;
 | 
			
		||||
    }
 | 
			
		||||
    friend class boost::serialization::access;
 | 
			
		||||
};
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -2,8 +2,8 @@
 | 
			
		|||
// Licensed under GPLv2 or any later version
 | 
			
		||||
// Refer to the license.txt file included.
 | 
			
		||||
 | 
			
		||||
#include "core/hle/service/frd/frd_a.h"
 | 
			
		||||
#include "common/archives.h"
 | 
			
		||||
#include "core/hle/service/frd/frd_a.h"
 | 
			
		||||
 | 
			
		||||
SERIALIZE_EXPORT_IMPL(Service::FRD::FRD_A)
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -11,6 +11,7 @@ namespace Service::FRD {
 | 
			
		|||
class FRD_A final : public Module::Interface {
 | 
			
		||||
public:
 | 
			
		||||
    explicit FRD_A(std::shared_ptr<Module> frd);
 | 
			
		||||
 | 
			
		||||
private:
 | 
			
		||||
    SERVICE_SERIALIZATION(FRD_A, frd, Module)
 | 
			
		||||
};
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -2,8 +2,8 @@
 | 
			
		|||
// Licensed under GPLv2 or any later version
 | 
			
		||||
// Refer to the license.txt file included.
 | 
			
		||||
 | 
			
		||||
#include "core/hle/service/frd/frd_u.h"
 | 
			
		||||
#include "common/archives.h"
 | 
			
		||||
#include "core/hle/service/frd/frd_u.h"
 | 
			
		||||
 | 
			
		||||
SERIALIZE_EXPORT_IMPL(Service::FRD::FRD_U)
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -11,6 +11,7 @@ namespace Service::FRD {
 | 
			
		|||
class FRD_U final : public Module::Interface {
 | 
			
		||||
public:
 | 
			
		||||
    explicit FRD_U(std::shared_ptr<Module> frd);
 | 
			
		||||
 | 
			
		||||
private:
 | 
			
		||||
    SERVICE_SERIALIZATION(FRD_U, frd, Module)
 | 
			
		||||
};
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -13,6 +13,7 @@
 | 
			
		|||
#include "common/common_types.h"
 | 
			
		||||
#include "common/file_util.h"
 | 
			
		||||
#include "common/logging/log.h"
 | 
			
		||||
#include "core/core.h"
 | 
			
		||||
#include "core/file_sys/archive_backend.h"
 | 
			
		||||
#include "core/file_sys/archive_extsavedata.h"
 | 
			
		||||
#include "core/file_sys/archive_ncch.h"
 | 
			
		||||
| 
						 | 
				
			
			@ -27,7 +28,6 @@
 | 
			
		|||
#include "core/file_sys/file_backend.h"
 | 
			
		||||
#include "core/hle/result.h"
 | 
			
		||||
#include "core/hle/service/fs/archive.h"
 | 
			
		||||
#include "core/core.h"
 | 
			
		||||
 | 
			
		||||
namespace Service::FS {
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -25,9 +25,8 @@ struct ClientSlot : public Kernel::SessionRequestHandler::SessionDataBase {
 | 
			
		|||
 | 
			
		||||
private:
 | 
			
		||||
    template <class Archive>
 | 
			
		||||
    void serialize(Archive& ar, const unsigned int)
 | 
			
		||||
    {
 | 
			
		||||
        ar & program_id;
 | 
			
		||||
    void serialize(Archive& ar, const unsigned int) {
 | 
			
		||||
        ar& program_id;
 | 
			
		||||
    }
 | 
			
		||||
    friend class boost::serialization::access;
 | 
			
		||||
};
 | 
			
		||||
| 
						 | 
				
			
			@ -555,10 +554,9 @@ private:
 | 
			
		|||
    ArchiveManager& archives;
 | 
			
		||||
 | 
			
		||||
    template <class Archive>
 | 
			
		||||
    void serialize(Archive& ar, const unsigned int)
 | 
			
		||||
    {
 | 
			
		||||
        ar & boost::serialization::base_object<Kernel::SessionRequestHandler>(*this);
 | 
			
		||||
        ar & priority;
 | 
			
		||||
    void serialize(Archive& ar, const unsigned int) {
 | 
			
		||||
        ar& boost::serialization::base_object<Kernel::SessionRequestHandler>(*this);
 | 
			
		||||
        ar& priority;
 | 
			
		||||
    }
 | 
			
		||||
    friend class boost::serialization::access;
 | 
			
		||||
};
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -11,8 +11,8 @@
 | 
			
		|||
#include <string>
 | 
			
		||||
#include <boost/container/flat_map.hpp>
 | 
			
		||||
#include <boost/serialization/assume_abstract.hpp>
 | 
			
		||||
#include <boost/serialization/shared_ptr.hpp>
 | 
			
		||||
#include <boost/serialization/base_object.hpp>
 | 
			
		||||
#include <boost/serialization/shared_ptr.hpp>
 | 
			
		||||
#include "common/common_types.h"
 | 
			
		||||
#include "common/construct.h"
 | 
			
		||||
#include "core/hle/kernel/hle_ipc.h"
 | 
			
		||||
| 
						 | 
				
			
			@ -199,42 +199,37 @@ extern const std::array<ServiceModuleInfo, 40> service_module_map;
 | 
			
		|||
 | 
			
		||||
} // namespace Service
 | 
			
		||||
 | 
			
		||||
#define SERVICE_SERIALIZATION(T, MFIELD, TMODULE) \
 | 
			
		||||
    template <class Archive> \
 | 
			
		||||
    void save_construct(Archive& ar, const unsigned int file_version) const \
 | 
			
		||||
    { \
 | 
			
		||||
        ar << MFIELD; \
 | 
			
		||||
    } \
 | 
			
		||||
 \
 | 
			
		||||
    template <class Archive> \
 | 
			
		||||
    static void load_construct(Archive& ar, T* t, const unsigned int file_version) \
 | 
			
		||||
    { \
 | 
			
		||||
        std::shared_ptr<TMODULE> MFIELD; \
 | 
			
		||||
        ar >> MFIELD; \
 | 
			
		||||
        ::new(t)T(MFIELD); \
 | 
			
		||||
    } \
 | 
			
		||||
 \
 | 
			
		||||
    template <class Archive> \
 | 
			
		||||
    void serialize(Archive& ar, const unsigned int) \
 | 
			
		||||
    { \
 | 
			
		||||
        ar & boost::serialization::base_object<Kernel::SessionRequestHandler>(*this); \
 | 
			
		||||
    } \
 | 
			
		||||
    friend class boost::serialization::access; \
 | 
			
		||||
#define SERVICE_SERIALIZATION(T, MFIELD, TMODULE)                                                  \
 | 
			
		||||
    template <class Archive>                                                                       \
 | 
			
		||||
    void save_construct(Archive& ar, const unsigned int file_version) const {                      \
 | 
			
		||||
        ar << MFIELD;                                                                              \
 | 
			
		||||
    }                                                                                              \
 | 
			
		||||
                                                                                                   \
 | 
			
		||||
    template <class Archive>                                                                       \
 | 
			
		||||
    static void load_construct(Archive& ar, T* t, const unsigned int file_version) {               \
 | 
			
		||||
        std::shared_ptr<TMODULE> MFIELD;                                                           \
 | 
			
		||||
        ar >> MFIELD;                                                                              \
 | 
			
		||||
        ::new (t) T(MFIELD);                                                                       \
 | 
			
		||||
    }                                                                                              \
 | 
			
		||||
                                                                                                   \
 | 
			
		||||
    template <class Archive>                                                                       \
 | 
			
		||||
    void serialize(Archive& ar, const unsigned int) {                                              \
 | 
			
		||||
        ar& boost::serialization::base_object<Kernel::SessionRequestHandler>(*this);               \
 | 
			
		||||
    }                                                                                              \
 | 
			
		||||
    friend class boost::serialization::access;                                                     \
 | 
			
		||||
    friend class ::construct_access;
 | 
			
		||||
 | 
			
		||||
#define SERVICE_CONSTRUCT(T) \
 | 
			
		||||
namespace boost::serialization { \
 | 
			
		||||
    template <class Archive> \
 | 
			
		||||
    void load_construct_data(Archive& ar, T* t, const unsigned int); \
 | 
			
		||||
}
 | 
			
		||||
#define SERVICE_CONSTRUCT(T)                                                                       \
 | 
			
		||||
    namespace boost::serialization {                                                               \
 | 
			
		||||
    template <class Archive>                                                                       \
 | 
			
		||||
    void load_construct_data(Archive& ar, T* t, const unsigned int);                               \
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
#define SERVICE_CONSTRUCT_IMPL(T) \
 | 
			
		||||
namespace boost::serialization { \
 | 
			
		||||
    template <class Archive> \
 | 
			
		||||
    void load_construct_data(Archive& ar, T* t, const unsigned int) \
 | 
			
		||||
    { \
 | 
			
		||||
        ::new(t)T(Core::Global<Core::System>()); \
 | 
			
		||||
    } \
 | 
			
		||||
    template \
 | 
			
		||||
    void load_construct_data<iarchive>(iarchive& ar, T* t, const unsigned int); \
 | 
			
		||||
}
 | 
			
		||||
#define SERVICE_CONSTRUCT_IMPL(T)                                                                  \
 | 
			
		||||
    namespace boost::serialization {                                                               \
 | 
			
		||||
    template <class Archive>                                                                       \
 | 
			
		||||
    void load_construct_data(Archive& ar, T* t, const unsigned int) {                              \
 | 
			
		||||
        ::new (t) T(Core::Global<Core::System>());                                                 \
 | 
			
		||||
    }                                                                                              \
 | 
			
		||||
    template void load_construct_data<iarchive>(iarchive & ar, T* t, const unsigned int);          \
 | 
			
		||||
    }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -9,9 +9,9 @@
 | 
			
		|||
#include <type_traits>
 | 
			
		||||
#include <unordered_map>
 | 
			
		||||
#include <boost/serialization/shared_ptr.hpp>
 | 
			
		||||
#include <boost/serialization/split_member.hpp>
 | 
			
		||||
#include <boost/serialization/string.hpp>
 | 
			
		||||
#include <boost/serialization/unordered_map.hpp>
 | 
			
		||||
#include <boost/serialization/split_member.hpp>
 | 
			
		||||
#include "core/hle/kernel/client_port.h"
 | 
			
		||||
#include "core/hle/kernel/object.h"
 | 
			
		||||
#include "core/hle/kernel/server_port.h"
 | 
			
		||||
| 
						 | 
				
			
			@ -86,14 +86,12 @@ private:
 | 
			
		|||
    std::unordered_map<u32, std::string> registered_services_inverse;
 | 
			
		||||
 | 
			
		||||
    template <class Archive>
 | 
			
		||||
    void save(Archive& ar, const unsigned int file_version) const
 | 
			
		||||
    {
 | 
			
		||||
    void save(Archive& ar, const unsigned int file_version) const {
 | 
			
		||||
        ar << registered_services;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    template <class Archive>
 | 
			
		||||
    void load(Archive& ar, const unsigned int file_version)
 | 
			
		||||
    {
 | 
			
		||||
    void load(Archive& ar, const unsigned int file_version) {
 | 
			
		||||
        ar >> registered_services;
 | 
			
		||||
        registered_services_inverse.clear();
 | 
			
		||||
        for (const auto& pair : registered_services) {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue