ts3plugin_sys/
plugin_definitions.rs1#![allow(dead_code)]
2
3use std::os::raw::*;
6
7pub const MENU_BUFSZ: usize = 128;
8pub const HOTKEY_BUFSZ: usize = 128;
9
10#[repr(C)]
12#[derive(Debug, PartialEq, Eq, Clone, Copy)]
13pub enum ConfigureOffer {
14 No = 0,
16 NewThread,
18 QtThread,
20}
21
22#[repr(C)]
23#[derive(Debug, PartialEq, Eq, Clone, Copy)]
24pub enum MessageTarget {
25 Server = 0,
26 Channel,
27}
28
29#[repr(C)]
30#[derive(Debug, PartialEq, Eq, Clone, Copy)]
31pub enum ItemType {
32 Server = 0,
33 Channel,
34 Client,
35}
36
37#[repr(C)]
38#[derive(Debug, PartialEq, Eq, Clone, Copy)]
39pub enum MenuType {
40 Global = 0,
41 Channel,
42 Client,
43}
44
45#[repr(C)]
46pub struct MenuItem {
47 pub type_name: MenuType,
48 pub id: c_uint,
49 pub text: [c_char; MENU_BUFSZ],
50 pub icon: [c_char; MENU_BUFSZ],
51}
52
53#[repr(C)]
54pub struct Hotkey {
55 pub keyword: [c_char; HOTKEY_BUFSZ],
56 pub description: [c_char; HOTKEY_BUFSZ],
57}
58
59#[repr(C)]
60pub struct BookmarkItem {
61 pub name: *mut c_char,
62 pub is_folder: u8,
63 pub reserved: [u8; 3],
64 pub uuid_folder: *mut c_char,
66}
67
68impl BookmarkItem {
69 fn get_uuid(&self) -> *mut c_char {
70 self.uuid_folder
71 }
72
73 fn get_folder(&self) -> *mut BookmarkList {
74 self.uuid_folder as *mut BookmarkList
75 }
76
77 fn set_uuid(&mut self, val: *mut c_char) {
78 self.uuid_folder = val;
79 }
80
81 fn set_folder(&mut self, val: *mut BookmarkList) {
82 self.uuid_folder = val as *mut c_char;
83 }
84}
85
86#[repr(C)]
87pub struct BookmarkList {
88 pub itemcount: c_int,
89 pub items: [BookmarkItem; 1],
91}
92
93#[repr(C)]
94#[derive(Debug, PartialEq, Eq, Clone, Copy)]
95pub enum GuiProfile {
96 SoundCapture = 0,
97 SoundPlayback,
98 Hotkey,
99 Soundpack,
100 Identity,
101}
102
103#[repr(C)]
104#[derive(Debug, PartialEq, Eq, Clone, Copy)]
105pub enum ConnectTab {
106 New = 0,
107 Current,
108 NewIfCurrentConnected,
109}