summaryrefslogtreecommitdiff
path: root/src/builtins/doer.rs
blob: 8df14534828e80aaf6649f34769a2d2800187733 (plain)
use std::path::Path;

use happylock::ThreadKey;
use uuid::Uuid;

use crate::file;

pub enum Package {
	Program(Program),
}

pub struct Program {
	id: Uuid,
	name: String,

	interpreter: Uuid,
	main_file: Uuid,
	modules: Box<[Uuid]>,
}

pub fn package_metadata(key: &mut ThreadKey, program_id: Uuid) -> Option<Program> {
	let file = file::open(key, program_id)?;
}

pub fn program_code(key: &mut ThreadKey, program_id: Uuid) -> Option<Box<[u8]>> {
	todo!()
}

pub fn program_file(key: &mut ThreadKey, program_id: Uuid, module: &Path) -> Option<Box<[u8]>> {
	todo!()
}