Added PluginContext

This commit is contained in:
2024-06-20 23:43:16 +03:00
parent 43a07debde
commit 19aee664c2
25 changed files with 172 additions and 83 deletions

View File

@@ -8,5 +8,5 @@ crate-type=["cdylib"]
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
dim_sdk = {path="../../sdk/rust/"}
lazy_static = "1.4.0"
dim_sdk = {path="../../sdk/rust/dim_sdk"}
lazy_static = "1.4.0"

View File

@@ -1,5 +1,5 @@
use std::fmt::Write;
use dim_sdk::{plugin_info, DimPlugin};
use dim_sdk::{plugin_info, Context, DimPlugin};
use std::fs::read_to_string;
plugin_info!(
@@ -20,7 +20,7 @@ impl Plug {
}
impl DimPlugin for Plug {
fn init(&mut self) {
fn init(&mut self, _ctx: Context) {
}
fn poll(&mut self, f: &mut dim_sdk::CBuffer) -> dim_sdk::Result<()> {
let contents = read_to_string("/sys/class/power_supply/BAT0/capacity")?;

View File

@@ -9,6 +9,6 @@ crate-type=["cdylib"]
[dependencies]
chrono = "0.4.38"
dim_sdk = {path="../../sdk/rust/"}
dim_sdk = {path="../../sdk/rust/dim_sdk"}
lazy_static = "1.4.0"
log = "0.4.21"

View File

@@ -1,13 +1,14 @@
use std::fmt::Write;
use chrono::prelude::*;
use dim_sdk::{plugin_info, DimPlugin};
use dim_sdk::{plugin_info, Context, DimPlugin};
plugin_info!(
Plug, // Your main global structs name that implements `DimPlugin`
"clock", // Plugin name
"0.0.0", // Plugin Version (leave empty for none)
"GPLv3" // Plugin license (leave empty for none)
);
);
struct Plug {
}
@@ -20,9 +21,7 @@ impl Plug {
}
impl DimPlugin for Plug {
fn init(&mut self) {
}
fn init(&mut self, _ctx: Context) {}
fn poll(&mut self, f: &mut dim_sdk::CBuffer) -> dim_sdk::Result<()> {
let local: DateTime<Local> = Local::now();
let formatted_time = local.format("%H:%M (%Y-%m-%d)").to_string();
@@ -30,14 +29,9 @@ impl DimPlugin for Plug {
write!(f, "Time: {}", formatted_time)?;
Ok(())
}
fn pre_reload(&mut self) {
}
fn post_reload(&mut self) {
}
fn free(&mut self) {
}
fn pre_reload(&mut self) {}
fn post_reload(&mut self) {}
fn free(&mut self) {}
}

View File

@@ -9,5 +9,5 @@ crate-type=["cdylib"]
[dependencies]
chrono = "0.4.38"
dim_sdk = {path="../../sdk/rust/"}
dim_sdk = {path="../../sdk/rust/dim_sdk"}
lazy_static = "1.4.0"

View File

@@ -1,5 +1,5 @@
use std::fmt::Write;
use dim_sdk::{plugin_info, DimPlugin};
use dim_sdk::{plugin_info, Context, DimPlugin};
use chrono::{NaiveDate, Local};
plugin_info!(
@@ -21,7 +21,7 @@ impl Plug {
}
impl DimPlugin for Plug {
fn init(&mut self) {}
fn init(&mut self, _ctx: Context) {}
fn poll(&mut self, f: &mut dim_sdk::CBuffer) -> dim_sdk::Result<()> {
let start_date = NaiveDate::from_ymd_opt(2024, 3, 8).expect("Invalid date");

View File

@@ -13,7 +13,8 @@ typedef struct plug_t {
plug_t* p = {0};
void plug_init() {
void plug_init(plug_ctx_t* ctx) {
(void) ctx;
p = malloc(sizeof(plug_t));
assert(p != NULL && "Buy more ram KEKW");
p->count = 0;

View File

@@ -8,5 +8,5 @@ crate-type=["cdylib"]
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
dim_sdk = {path="../../sdk/rust/"}
lazy_static = "1.4.0"
dim_sdk = {path="../../sdk/rust/dim_sdk"}
lazy_static = "1.4.0"

View File

@@ -1,5 +1,5 @@
use std::fmt::Write;
use dim_sdk::{plugin_info, DimPlugin};
use dim_sdk::{plugin_info, Context, DimPlugin};
plugin_info!(
Plug, // Your main global structs name that implements `DimPlugin`
@@ -21,7 +21,7 @@ impl Plug {
}
impl DimPlugin for Plug {
fn init(&mut self) {
fn init(&mut self, _ctx: Context) {
// Initialise data, this will run once, it will not run again after reload
}
fn poll(&mut self, f: &mut dim_sdk::CBuffer) -> dim_sdk::Result<()> {