Warning, /sdk/rust-qt-binding-generator/tests/rust_object_types/src/implementation.rs is written in an unsupported language. File is not indexed.

0001 #![allow(unused_imports)]
0002 #![allow(unused_variables)]
0003 #![allow(dead_code)]
0004 use interface::*;
0005 
0006 pub struct Object {
0007     emit: ObjectEmitter,
0008     boolean: bool,
0009     optional_boolean: Option<bool>,
0010     i8: i8,
0011     u8: u8,
0012     i16: i16,
0013     u16: u16,
0014     i32: i32,
0015     u32: u32,
0016     i64: i64,
0017     u64: u64,
0018     optional_u64: Option<u64>,
0019     f32: f32,
0020     f64: f64,
0021     bytearray: Vec<u8>,
0022     optional_bytearray: Option<Vec<u8>>,
0023     string: String,
0024     optional_string: Option<String>,
0025     string_by_function: String,
0026 }
0027 
0028 impl ObjectTrait for Object {
0029     fn new(emit: ObjectEmitter) -> Object {
0030         Object {
0031             emit,
0032             boolean: false,
0033             optional_boolean: None,
0034             i8: 0,
0035             u8: 0,
0036             i16: 0,
0037             u16: 0,
0038             i32: 0,
0039             u32: 0,
0040             i64: 0,
0041             u64: 0,
0042             optional_u64: None,
0043             f32: 0.,
0044             f64: 0.,
0045             bytearray: Vec::new(),
0046             optional_bytearray: None,
0047             string: String::new(),
0048             optional_string: None,
0049             string_by_function: String::new()
0050         }
0051     }
0052     fn emit(&mut self) -> &mut ObjectEmitter {
0053         &mut self.emit
0054     }
0055     fn boolean(&self) -> bool {
0056         self.boolean
0057     }
0058     fn set_boolean(&mut self, value: bool) {
0059         self.boolean = value;
0060         self.emit.boolean_changed();
0061     }
0062     fn optional_boolean(&self) -> Option<bool> {
0063         self.optional_boolean
0064     }
0065     fn set_optional_boolean(&mut self, b: Option<bool>) {
0066         self.optional_boolean = b;
0067         self.emit.optional_boolean_changed();
0068     }
0069     fn i8(&self) -> i8 {
0070         self.i8
0071     }
0072     fn set_i8(&mut self, value: i8) {
0073         self.i8 = value;
0074         self.emit.i8_changed();
0075     }
0076     fn u8(&self) -> u8 {
0077         self.u8
0078     }
0079     fn set_u8(&mut self, value: u8) {
0080         self.u8 = value;
0081         self.emit.u8_changed();
0082     }
0083     fn i16(&self) -> i16 {
0084         self.i16
0085     }
0086     fn set_i16(&mut self, value: i16) {
0087         self.i16 = value;
0088         self.emit.i16_changed();
0089     }
0090     fn u16(&self) -> u16 {
0091         self.u16
0092     }
0093     fn set_u16(&mut self, value: u16) {
0094         self.u16 = value;
0095         self.emit.u16_changed();
0096     }
0097     fn i32(&self) -> i32 {
0098         self.i32
0099     }
0100     fn set_i32(&mut self, value: i32) {
0101         self.i32 = value;
0102         self.emit.i32_changed();
0103     }
0104     fn u32(&self) -> u32 {
0105         self.u32
0106     }
0107     fn set_u32(&mut self, value: u32) {
0108         self.u32 = value;
0109         self.emit.u32_changed();
0110     }
0111     fn i64(&self) -> i64 {
0112         self.i64
0113     }
0114     fn set_i64(&mut self, value: i64) {
0115         self.i64 = value;
0116         self.emit.i64_changed();
0117     }
0118     fn u64(&self) -> u64 {
0119         self.u64
0120     }
0121     fn set_u64(&mut self, value: u64) {
0122         self.u64 = value;
0123         self.emit.u64_changed();
0124     }
0125     fn optional_u64(&self) -> Option<u64> {
0126         self.optional_u64
0127     }
0128     fn set_optional_u64(&mut self, v: Option<u64>) {
0129         self.optional_u64 = v;
0130         self.emit.optional_u64_changed();
0131     }
0132     fn f32(&self) -> f32 {
0133         self.f32
0134     }
0135     fn set_f32(&mut self, value: f32) {
0136         self.f32 = value;
0137         self.emit.f32_changed();
0138     }
0139     fn f64(&self) -> f64 {
0140         self.f64
0141     }
0142     fn set_f64(&mut self, value: f64) {
0143         self.f64 = value;
0144         self.emit.f64_changed();
0145     }
0146     fn bytearray(&self) -> &[u8] {
0147         &self.bytearray
0148     }
0149     fn set_bytearray(&mut self, value: &[u8]) {
0150         self.bytearray.truncate(0);
0151         self.bytearray.extend_from_slice(value);
0152         self.emit.bytearray_changed();
0153     }
0154     fn optional_bytearray(&self) -> Option<&[u8]> {
0155         self.optional_bytearray.as_ref().map(|p|&p[..])
0156     }
0157     fn set_optional_bytearray(&mut self, value: Option<&[u8]>) {
0158         match (value, &mut self.optional_bytearray) {
0159             (Some(value), &mut Some(ref mut b)) => {
0160                 b.truncate(0);
0161                 b.extend_from_slice(value);
0162             },
0163             (Some(value), b) => {
0164                 *b = Some(value.into())
0165             },
0166             (None, b) => {*b = None;}
0167         };
0168         self.emit.optional_bytearray_changed();
0169     }
0170     fn optional_string(&self) -> Option<&str> {
0171         self.optional_string.as_ref().map(|p|&p[..])
0172     }
0173     fn set_optional_string(&mut self, value: Option<String>) {
0174         self.optional_string = value;
0175         self.emit.optional_string_changed();
0176     }
0177     fn string(&self) -> &str {
0178         &self.string
0179     }
0180     fn set_string(&mut self, value: String) {
0181         self.string = value;
0182         self.emit.string_changed();
0183     }
0184     fn string_by_function<F>(&self, getter: F) where F: FnOnce(&str) {
0185         getter(&self.string_by_function)
0186     }
0187     fn set_string_by_function(&mut self, value: String) {
0188         self.string_by_function = value;
0189         self.emit.string_by_function_changed();
0190     }
0191 }
0192