Exemplo n.º 1
0
static VALUE method_exists(VALUE self, VALUE path, VALUE watch) {
  struct Stat stat;

  Check_Type(path, T_STRING);
  FETCH_DATA_PTR(self, zk);

  check_errors(zoo_exists(zk->zh, RSTRING(path)->ptr, (watch != Qfalse && watch != Qnil), &stat));

  return array_from_stat(&stat);
}
Exemplo n.º 2
0
static VALUE method_exists(VALUE self, VALUE path, VALUE watch) {
  struct zk_rb_data* zk;
  struct Stat stat;

  Check_Type(path, T_STRING);
  Data_Get_Struct(rb_iv_get(self, "@data"), struct zk_rb_data, zk);

  check_errors(zoo_exists(zk->zh, RSTRING(path)->ptr, (watch != Qfalse && watch != Qnil), &stat));

  return array_from_stat(&stat);
}
Exemplo n.º 3
0
static VALUE method_get(VALUE self, VALUE path) {
  struct zk_rb_data* zk;
  char data[1024];
  int data_len = 1024;
  struct Stat stat;

  Check_Type(path, T_STRING);
  Data_Get_Struct(rb_iv_get(self, "@data"), struct zk_rb_data, zk);
  
  check_errors(zoo_get(zk->zh, RSTRING(path)->ptr, 0, data, &data_len, &stat));
  /*printf("got some data; version=%d\n", stat.version);*/

  return rb_ary_new3(2,
		     rb_str_new(data, data_len),
		     array_from_stat(&stat));
}
Exemplo n.º 4
0
static VALUE method_get(VALUE self, VALUE path) {
  char data[1024];
  int data_len = sizeof(data);

  struct Stat stat;
  memset(data, 0, sizeof(data));

  Check_Type(path, T_STRING);
  FETCH_DATA_PTR(self, zk);
  
  check_errors(zoo_get(zk->zh, RSTRING(path)->ptr, 0, data, &data_len, &stat));

  return rb_ary_new3(2,
		     rb_str_new(data, data_len),
		     array_from_stat(&stat));
}