/simpletypesystem/trunk

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/simpletypesystem/trunk

« back to all changes in this revision

Viewing changes to src/Box.c

  • Committer: Gustav Hartvigsson
  • Date: 2015-08-27 15:01:32 UTC
  • Revision ID: gustav.hartvigsson@gmail.com-20150827150132-pwijpi0k2f4f96rg
* Working on SMatrix to finish it off.
* Added (non working?) s_wstiring_to_string () to convert Wide Strings (wchar_t *) to Byte Strings (char *).
* fixed spelling of tuple in Matrix.[h,c]
* added documentation to different parts of the code.

Show diffs side-by-side

added added

removed removed

Lines of Context:
25
25
 
26
26
void
27
27
s_method_box_free (SBox * self);
 
28
char *
 
29
s_method_box_to_string (SBox * self);
28
30
 
29
31
/* Private function to allocate and set methods to the SBox.
30
32
 */
34
36
  SBoxClass * klass = malloc (sizeof (SBoxClass));
35
37
  s_object_initialize (S_OBJECT (self), "SBox");
36
38
  
37
 
  s_object_set_class (S_OBJECT (self), S_OBJECT_CLASS (klass));
38
 
  s_object_set_free_method (S_OBJECT (self), FREE_METHOD (s_method_box_free));
 
39
  s_object_set_class (S_OBJECT (self),
 
40
                      S_OBJECT_CLASS (klass));
 
41
  s_object_set_free_method (S_OBJECT (self),
 
42
                            FREE_METHOD (s_method_box_free));
 
43
  s_object_set_to_string_method (S_OBJECT (self),
 
44
                                 TO_STRING_FUNC (s_method_box_to_string));
39
45
  
40
46
  self->priv->free_func = NULL;
41
47
  
246
252
  
247
253
}
248
254
 
 
255
char *
 
256
s_method_box_to_string (SBox * self) {
 
257
  char * ret_val = NULL;
 
258
  
 
259
  switch (self->priv->object_type) {
 
260
    case (S_TYPE_INT):
 
261
      ret_val = s_string_new_fmt ("(SBox, Char: %i)", self->priv->data.m_int);
 
262
      break;
 
263
    case (S_TYPE_CHAR):
 
264
      ret_val = s_string_new_fmt ("(SBox, Char: %c)", self->priv->data.m_char);
 
265
      break;
 
266
    case (S_TYPE_LONG):
 
267
      ret_val = s_string_new_fmt ("(SBox, Long: %li)", self->priv->data.m_long);
 
268
      break;
 
269
    case (S_TYPE_OBJECT):
 
270
      ret_val = s_string_new_fmt ("(SBox, SObject: %s)", s_object_to_string(self->priv->data.m_sobject));
 
271
      break;
 
272
    case (S_TYPE_POINTER):
 
273
      ret_val = s_string_new_fmt ("(SBox, Pointer: %lli)", self->priv->data.m_ptr);
 
274
      break;
 
275
    case (S_TYPE_SHORT):
 
276
      ret_val = s_string_new_fmt ("(SBox, Short: %hi)", self->priv->data.m_short);
 
277
      break;
 
278
    case (S_TYPE_STRING):
 
279
      ret_val = s_string_new_fmt ("(SBox, String: \"%s\")", self->priv->data.m_string);
 
280
      break;
 
281
    case (S_TYPE_UINT):
 
282
      ret_val = s_string_new_fmt ("(SBox, Unsigned Int: %u)", self->priv->data.m_uint);
 
283
      break;
 
284
    case (S_TYPE_ULONG):
 
285
      ret_val = s_string_new_fmt ("(SBox, Unsigned Long: %lu)", self->priv->data.m_ulong);
 
286
      break;
 
287
    case (S_TYPE_USHORT):
 
288
      ret_val = s_string_new_fmt ("(SBox, Unsigned Short: %hu)", self->priv->data.m_ushort);
 
289
      break;
 
290
    case (S_TYPE_WCHAR):
 
291
      ret_val = s_string_new_fmt ("(SBox, Wide Char: %lc)", self->priv->data.m_wchar);
 
292
      break;
 
293
    case (S_TYPE_WSTRING):
 
294
      ret_val = s_string_new_fmt ("(SBox, Wide String: %s)", s_wstring_to_string (self->priv->data.m_wstring));
 
295
    default:
 
296
      s_err_print ("THIS SHOULD NOT BE ALBE TO BE REACHED.");
 
297
  }
 
298
  return ret_val;
 
299
}
249
300