[CAM] Add service skeleton

This commit is contained in:
wheremyfoodat 2023-03-13 01:00:12 +02:00
parent b564029a8f
commit 5b9648e0a8
7 changed files with 63 additions and 5 deletions

View file

@ -14,6 +14,7 @@ namespace KernelHandles {
AM, // Application manager
APT, // App Title something service?
BOSS, // Streetpass stuff?
CAM, // Camera service
CECD, // More Streetpass stuff?
CFG, // CFG service (Console & region info)
HID, // HID service (Handles everything input-related including gyro)
@ -26,7 +27,7 @@ namespace KernelHandles {
NIM, // Updates, DLC, etc
NDM, // ?????
PTM, // PTM service (Used for accessing various console info, such as battery, shell and pedometer state)
Y2R,
Y2R, // Also does camera stuff
MinServiceHandle = AC,
MaxServiceHandle = Y2R,
@ -62,6 +63,7 @@ namespace KernelHandles {
case AM: return "AM";
case APT: return "APT";
case BOSS: return "BOSS";
case CAM: return "CAM";
case CECD: return "CECD";
case CFG: return "CFG";
case HID: return "HID";

View file

@ -32,6 +32,7 @@ namespace Log {
static Logger<false> amLogger;
static Logger<false> aptLogger;
static Logger<false> bossLogger;
static Logger<false> camLogger;
static Logger<false> cecdLogger;
static Logger<false> cfgLogger;
static Logger<false> dspServiceLogger;
@ -44,6 +45,7 @@ namespace Log {
static Logger<false> nimLogger;
static Logger<false> ndmLogger;
static Logger<false> ptmLogger;
static Logger<false> y2rLogger;
static Logger<false> srvLogger;
#define MAKE_LOG_FUNCTION(functionName, logger) \

19
include/services/cam.hpp Normal file
View file

@ -0,0 +1,19 @@
#pragma once
#include "helpers.hpp"
#include "kernel_types.hpp"
#include "logger.hpp"
#include "memory.hpp"
class CAMService {
Handle handle = KernelHandles::CAM;
Memory& mem;
MAKE_LOG_FUNCTION(log, camLogger)
// Service commands
void driverInitialize(u32 messagePointer);
public:
CAMService(Memory& mem) : mem(mem) {}
void reset();
void handleSyncRequest(u32 messagePointer);
};

View file

@ -8,6 +8,7 @@
#include "services/am.hpp"
#include "services/apt.hpp"
#include "services/boss.hpp"
#include "services/cam.hpp"
#include "services/cecd.hpp"
#include "services/cfg.hpp"
#include "services/dsp.hpp"
@ -38,6 +39,7 @@ class ServiceManager {
AMService am;
APTService apt;
BOSSService boss;
CAMService cam;
CECDService cecd;
CFGService cfg;
DSPService dsp;