vfs: check userland buffers before reading them.
[haiku.git] / src / tests / kits / app / bmessage / BMessageCases
blob0d86be20f8ff31d86801c1c263ef84d8fcf5740a
1 BMessage();
2 --------------
3 case 1: default construction
5 BMessage(uint32 what);
6 --------------
7 case 1: what initialization
9 BMessage(const BMessage &a_message);
10 --------------
11 case 1: copy of default constructed
13 ~BMessage();
14 --------------
15 case 1: Sent message not replied to, so B_NO_REPLY sent
16 case 2: Sent message replied to, so B_NO_REPLY not sent
18 BMessage& operator=(const BMessage &msg);
19 --------------
20 case 1: assignment of default constructed
22 status_t        GetInfo(type_code typeRequested, int32 which, char **name,
23                                         type_code *typeReturned, int32 *count = NULL) const;
25 status_t        GetInfo(const char *name, type_code *type, int32 *c = 0) const;
26 status_t        GetInfo(const char *name, type_code *type, bool *fixed_size) const;
28 int32           CountNames(type_code type) const;
29 bool            IsEmpty() const;
30 bool            IsSystem() const;
31 bool            IsReply() const;
32 void            PrintToStream() const;
34 status_t        Rename(const char *old_entry, const char *new_entry);
36 bool            WasDelivered() const;
37 bool            IsSourceWaiting() const;
38 bool            IsSourceRemote() const;
39 BMessenger      ReturnAddress() const;
40 const BMessage  *Previous() const;
41 bool            WasDropped() const;
42 BPoint          DropPoint(BPoint *offset = NULL) const;
44 status_t        SendReply(uint32 command, BHandler *reply_to = NULL);
45 status_t        SendReply(BMessage *the_reply, BHandler *reply_to = NULL,
46                                         bigtime_t timeout = B_INFINITE_TIMEOUT);
47 status_t        SendReply(BMessage *the_reply, BMessenger reply_to,
48                                         bigtime_t timeout = B_INFINITE_TIMEOUT);
50 status_t        SendReply(uint32 command, BMessage *reply_to_reply);
51 status_t        SendReply(BMessage *the_reply, BMessage *reply_to_reply,
52                                         bigtime_t send_timeout = B_INFINITE_TIMEOUT,
53                                         bigtime_t reply_timeout = B_INFINITE_TIMEOUT);
55 ssize_t         FlattenedSize() const;
56 status_t        Flatten(char *buffer, ssize_t size) const;
57 status_t        Flatten(BDataIO *stream, ssize_t *size = NULL) const;
58 status_t        Unflatten(const char *flat_buffer);
59 status_t        Unflatten(BDataIO *stream);
61 status_t        AddSpecifier(const char *property);
62 status_t        AddSpecifier(const char *property, int32 index);
63 status_t        AddSpecifier(const char *property, int32 index, int32 range);
64 status_t        AddSpecifier(const char *property, const char *name);
65 status_t        AddSpecifier(const BMessage *specifier);
66 status_t        SetCurrentSpecifier(int32 index);
67 status_t        GetCurrentSpecifier(int32 *index, BMessage *specifier = NULL,
68                                         int32 *form = NULL, const char **property = NULL) const;
69 bool            HasSpecifiers() const;
70 status_t        PopSpecifier();
72 status_t        AddInt32(const char *name, int32 val);
73 status_t        FindInt32(const char *name, int32 *value) const;
74 status_t        FindInt32(const char *name, int32 index, int32 *val) const;
75 status_t        ReplaceInt32(const char *name, int32 val);
76 status_t        ReplaceInt32(const char *name, int32 index, int32 val);
77 bool            HasInt32(const char *, int32 n = 0) const;
78 int32           FindInt32(const char *, int32 n = 0) const;
79 --------------
80 case:   No item added.  HasInt32() should return false; simple FindInt32() should
81                 return 0; FindInt32() should return B_NAME_NOT_FOUND and set data param to
82                 0; FindData() should return B_NAME_NOT_FOUND and set data param to NULL.
84 case:   Add single item.  HasInt32() should return true; simple FindInt32() should
85                 return added item; FindInt32() should return B_OK and set data param to
86                 added item; FindData() should return B_OK and set data param to added item.
88 case:   Add single item.  Replace item.  HasInt32() should return true; simple
89                 FindInt32() should return replacement; FindInt32() should return B_OK and
90                 set data param to replacement; FindData() should return B_OK and set data
91                 param to replacement.
93 case:   No item added.  For index 1:  HasInt32() should return false; simple
94                 FindInt32() should return 0; FindInt32() should return B_NAME_NOT_FOUND
95                 and set data param to 0; FindData() should return B_NAME_NOT_FOUND and
96                 set data param to NULL.
98 case:   Add multiple items.  For each index:  HasInt32() should return true; simple
99                 FindInt32() should return added item; FindInt32() should return B_OK and set
100                 data param to added item; FindData() should return B_OK and set data param
101                 to added item.
103 case:   Add multiple items.  Replace item.  For replaced index:  HasInt32() should
104                 return true; simple FindInt32() should return replacement; FindInt32()
105                 should return B_OK and set data param to replacement; FindData() should
106                 return B_OK and set data param to replacement.
108 case:   Add single item via generic AddData().  HasInt32() should return true; simple
109                 FindInt32() should return added item; FindInt32() should return B_OK and set
110                 data param to added item; FindData() should return B_OK and set data param to
111                 added item.
113 case:   Add multiple items via generic AddData().  For each index:  HasInt32() should
114                 return true; simple FindInt32() should return added item; FindInt32() should
115                 return B_OK and set data param to added item; FindData() should return B_OK
116                 and set data param to added item.
118 status_t        AddRect(const char *name, BRect a_rect);
119 status_t        AddPoint(const char *name, BPoint a_point);
120 status_t        AddString(const char *name, const char *a_string);
121 status_t        AddString(const char *name, const BString& a_string);
122 status_t        AddInt8(const char *name, int8 val);
123 status_t        AddInt16(const char *name, int16 val);
124 status_t        AddInt64(const char *name, int64 val);
125 status_t        AddBool(const char *name, bool a_boolean);
126 status_t        AddFloat(const char *name, float a_float);
127 status_t        AddDouble(const char *name, double a_double);
128 status_t        AddPointer(const char *name, const void *ptr);
129 status_t        AddMessenger(const char *name, BMessenger messenger);
130 status_t        AddRef(const char *name, const entry_ref *ref);
131 status_t        AddMessage(const char *name, const BMessage *msg);
132 status_t        AddFlat(const char *name, BFlattenable *obj, int32 count = 1);
133 status_t        AddData(const char *name, type_code type, const void *data,
134                                 ssize_t numBytes, bool is_fixed_size = true, int32 count = 1);
136 status_t        RemoveData(const char *name, int32 index = 0);
137 status_t        RemoveName(const char *name);
138 status_t        MakeEmpty();
140 status_t        FindRect(const char *name, BRect *rect) const;
141 status_t        FindRect(const char *name, int32 index, BRect *rect) const;
142 status_t        FindPoint(const char *name, BPoint *pt) const;
143 status_t        FindPoint(const char *name, int32 index, BPoint *pt) const;
144 status_t        FindString(const char *name, const char **str) const;
145 status_t        FindString(const char *name, int32 index, const char **str) const;
146 status_t        FindString(const char *name, BString *str) const;
147 status_t        FindString(const char *name, int32 index, BString *str) const;
148 status_t        FindInt8(const char *name, int8 *value) const;
149 status_t        FindInt8(const char *name, int32 index, int8 *val) const;
150 status_t        FindInt16(const char *name, int16 *value) const;
151 status_t        FindInt16(const char *name, int32 index, int16 *val) const;
152 status_t        FindInt64(const char *name, int64 *value) const;
153 status_t        FindInt64(const char *name, int32 index, int64 *val) const;
154 status_t        FindBool(const char *name, bool *value) const;
155 status_t        FindBool(const char *name, int32 index, bool *value) const;
156 status_t        FindFloat(const char *name, float *f) const;
157 status_t        FindFloat(const char *name, int32 index, float *f) const;
158 status_t        FindDouble(const char *name, double *d) const;
159 status_t        FindDouble(const char *name, int32 index, double *d) const;
160 status_t        FindPointer(const char *name, void **ptr) const;
161 status_t        FindPointer(const char *name, int32 index,  void **ptr) const;
162 status_t        FindMessenger(const char *name, BMessenger *m) const;
163 status_t        FindMessenger(const char *name, int32 index, BMessenger *m) const;
164 status_t        FindRef(const char *name, entry_ref *ref) const;
165 status_t        FindRef(const char *name, int32 index, entry_ref *ref) const;
166 status_t        FindMessage(const char *name, BMessage *msg) const;
167 status_t        FindMessage(const char *name, int32 index, BMessage *msg) const;
168 status_t        FindFlat(const char *name, BFlattenable *obj) const;
169 status_t        FindFlat(const char *name, int32 index, BFlattenable *obj) const;
170 status_t        FindData(const char *name, type_code type,
171                                         const void **data, ssize_t *numBytes) const;
172 status_t        FindData(const char *name, type_code type, int32 index,
173                                         const void **data, ssize_t *numBytes) const;
175 status_t        ReplaceRect(const char *name, BRect a_rect);
176 status_t        ReplaceRect(const char *name, int32 index, BRect a_rect);
177 status_t        ReplacePoint(const char *name, BPoint a_point);
178 status_t        ReplacePoint(const char *name, int32 index, BPoint a_point);
179 status_t        ReplaceString(const char *name, const char *string);
180 status_t        ReplaceString(const char *name, int32 index, const char *string);
181 status_t        ReplaceString(const char *name, const BString& string);
182 status_t        ReplaceString(const char *name, int32 index, const BString& string);
183 status_t        ReplaceInt8(const char *name, int8 val);
184 status_t        ReplaceInt8(const char *name, int32 index, int8 val);
185 status_t        ReplaceInt16(const char *name, int16 val);
186 status_t        ReplaceInt16(const char *name, int32 index, int16 val);
187 status_t        ReplaceInt64(const char *name, int64 val);
188 status_t        ReplaceInt64(const char *name, int32 index, int64 val);
189 status_t        ReplaceBool(const char *name, bool a_bool);
190 status_t        ReplaceBool(const char *name, int32 index, bool a_bool);
191 status_t        ReplaceFloat(const char *name, float a_float);
192 status_t        ReplaceFloat(const char *name, int32 index, float a_float);
193 status_t        ReplaceDouble(const char *name, double a_double);
194 status_t        ReplaceDouble(const char *name, int32 index, double a_double);
195 status_t        ReplacePointer(const char *name, const void *ptr);
196 status_t        ReplacePointer(const char *name,int32 index,const void *ptr);
197 status_t        ReplaceMessenger(const char *name, BMessenger messenger);
198 status_t        ReplaceMessenger(const char *name, int32 index, BMessenger msngr);
199 status_t        ReplaceRef(     const char *name,const entry_ref *ref);
200 status_t        ReplaceRef(     const char *name, int32 index, const entry_ref *ref);
201 status_t        ReplaceMessage(const char *name, const BMessage *msg);
202 status_t        ReplaceMessage(const char *name, int32 index, const BMessage *msg);
203 status_t        ReplaceFlat(const char *name, BFlattenable *obj);
204 status_t        ReplaceFlat(const char *name, int32 index, BFlattenable *obj);
205 status_t        ReplaceData(const char *name, type_code type,
206                                                 const void *data, ssize_t data_size);
207 status_t        ReplaceData(const char *name, type_code type, int32 index,
208                                                 const void *data, ssize_t data_size);
210 void            *operator new(size_t size);
211 void            operator delete(void *ptr, size_t size);
213 bool            HasRect(const char *, int32 n = 0) const;
214 bool            HasPoint(const char *, int32 n = 0) const;
215 bool            HasString(const char *, int32 n = 0) const;
216 bool            HasInt8(const char *, int32 n = 0) const;
217 bool            HasInt16(const char *, int32 n = 0) const;
218 bool            HasInt64(const char *, int32 n = 0) const;
219 bool            HasBool(const char *, int32 n = 0) const;
220 bool            HasFloat(const char *, int32 n = 0) const;
221 bool            HasDouble(const char *, int32 n = 0) const;
222 bool            HasPointer(const char *, int32 n = 0) const;
223 bool            HasMessenger(const char *, int32 n = 0) const;
224 bool            HasRef(const char *, int32 n = 0) const;
225 bool            HasMessage(const char *, int32 n = 0) const;
226 bool            HasFlat(const char *, const BFlattenable *) const;
227 bool            HasFlat(const char *,int32 ,const BFlattenable *) const;
228 bool            HasData(const char *, type_code , int32 n = 0) const;
229 BRect           FindRect(const char *, int32 n = 0) const;
230 BPoint          FindPoint(const char *, int32 n = 0) const;
231 const char      *FindString(const char *, int32 n = 0) const;
232 int8            FindInt8(const char *, int32 n = 0) const;
233 int16           FindInt16(const char *, int32 n = 0) const;
234 int64           FindInt64(const char *, int32 n = 0) const;
235 bool            FindBool(const char *, int32 n = 0) const;
236 float           FindFloat(const char *, int32 n = 0) const;
237 double          FindDouble(const char *, int32 n = 0) const;