soup/auto/
message_body.rs1use crate::ffi;
7use glib::translate::*;
8
9glib::wrapper! {
10 #[derive(Debug, PartialEq, Eq, PartialOrd, Ord, Hash)]
11 pub struct MessageBody(Shared<ffi::SoupMessageBody>);
12
13 match fn {
14 ref => |ptr| ffi::soup_message_body_ref(ptr),
15 unref => |ptr| ffi::soup_message_body_unref(ptr),
16 type_ => || ffi::soup_message_body_get_type(),
17 }
18}
19
20impl MessageBody {
21 #[doc(alias = "soup_message_body_new")]
22 pub fn new() -> MessageBody {
23 assert_initialized_main_thread!();
24 unsafe { from_glib_full(ffi::soup_message_body_new()) }
25 }
26
27 #[doc(alias = "soup_message_body_append_bytes")]
28 pub fn append_bytes(&self, buffer: &glib::Bytes) {
29 unsafe {
30 ffi::soup_message_body_append_bytes(self.to_glib_none().0, buffer.to_glib_none().0);
31 }
32 }
33
34 #[doc(alias = "soup_message_body_append_take")]
35 pub fn append_take(&self, data: &[u8]) {
36 let length = data.len() as _;
37 unsafe {
38 ffi::soup_message_body_append_take(self.to_glib_none().0, data.to_glib_full(), length);
39 }
40 }
41
42 #[doc(alias = "soup_message_body_complete")]
43 pub fn complete(&self) {
44 unsafe {
45 ffi::soup_message_body_complete(self.to_glib_none().0);
46 }
47 }
48
49 #[doc(alias = "soup_message_body_flatten")]
50 pub fn flatten(&self) -> Option<glib::Bytes> {
51 unsafe { from_glib_full(ffi::soup_message_body_flatten(self.to_glib_none().0)) }
52 }
53
54 #[doc(alias = "soup_message_body_get_accumulate")]
55 #[doc(alias = "get_accumulate")]
56 pub fn is_accumulate(&self) -> bool {
57 unsafe { from_glib(ffi::soup_message_body_get_accumulate(self.to_glib_none().0)) }
58 }
59
60 #[doc(alias = "soup_message_body_get_chunk")]
61 #[doc(alias = "get_chunk")]
62 pub fn chunk(&self, offset: i64) -> Option<glib::Bytes> {
63 unsafe {
64 from_glib_full(ffi::soup_message_body_get_chunk(
65 self.to_glib_none().0,
66 offset,
67 ))
68 }
69 }
70
71 #[doc(alias = "soup_message_body_got_chunk")]
72 pub fn got_chunk(&self, chunk: &glib::Bytes) {
73 unsafe {
74 ffi::soup_message_body_got_chunk(self.to_glib_none().0, chunk.to_glib_none().0);
75 }
76 }
77
78 #[doc(alias = "soup_message_body_set_accumulate")]
79 pub fn set_accumulate(&self, accumulate: bool) {
80 unsafe {
81 ffi::soup_message_body_set_accumulate(self.to_glib_none().0, accumulate.into_glib());
82 }
83 }
84
85 #[doc(alias = "soup_message_body_truncate")]
86 pub fn truncate(&self) {
87 unsafe {
88 ffi::soup_message_body_truncate(self.to_glib_none().0);
89 }
90 }
91
92 #[doc(alias = "soup_message_body_wrote_chunk")]
93 pub fn wrote_chunk(&self, chunk: &glib::Bytes) {
94 unsafe {
95 ffi::soup_message_body_wrote_chunk(self.to_glib_none().0, chunk.to_glib_none().0);
96 }
97 }
98}
99
100impl Default for MessageBody {
101 fn default() -> Self {
102 Self::new()
103 }
104}