Class: OSX::ObjcID
- Inherits:
- 
      Object
      
        - Object
- OSX::ObjcID
 
- Defined in:
- src/objc/cls_objcid.m,
 src/objc/cls_objcid.m
Overview
Root class of Objective-C classes in Ruby world.
Class Method Summary (collapse)
- + (Object) new_with_ocid private
Instance Method Summary (collapse)
- 
  
    
      - (String) __inspect__ 
    
    
  
  
  
  
  
  
  
  
  
    Object#inspect. 
- 
  
    
      - (Number) __ocid__ 
    
    
  
  
  
  
  
  
  
  
  
    Objective-C id value as Number. 
- 
  
    
      - (Boolean) eql? 
    
    
      (also: #==)
    
  
  
  
  
  
  
  
  
  
    Returns truewhenothercontains same Objective-C “id”.
- 
  
    
      - (FIXNUM) hash 
    
    
  
  
  
  
  
  
  
  
  
    Returns an hash value form internal Objective-C “id”. 
- 
  
    
      - (Object) initialize_copy 
    
    
  
  
  
  
  
  
  
  private
  
    Returns shallow copied object by Object#dup. 
- 
  
    
      - (String) inspect 
    
    
  
  
  
  
  
  
  
  
  
    Object#inspect. 
- 
  
    
      - (Object) release 
    
    
  
  
  
  
  
  
  
  
  
    Sends Objective-C “release” message to reciever. 
Class Method Details
+ (Object) new_with_ocid
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
| 85 86 87 88 89 | # File 'src/objc/cls_objcid.m', line 85
static VALUE
wrapper_objcid_s_new_with_ocid(VALUE klass, VALUE rbocid)
{
  return objcid_new_with_ocid(klass, NUM2OCID(rbocid));
} | 
Instance Method Details
- (String) __inspect__
overrides Object#inspect.
Object#inspect.
| 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 | # File 'src/objc/cls_objcid.m', line 136
static VALUE
objcid_inspect(VALUE rcv)
{
  char              s[512];
  id                ocid;
  struct bsConst *  bs_const;
  const char *      class_desc;
  id                pool;
  ocid = OBJCID_ID(rcv);
  bs_const = find_magic_cookie_const_by_value(ocid);
  if (bs_const != NULL) {
    pool = nil;
    class_desc = bs_const->class_name;
  }
  else {
    pool = [[NSAutoreleasePool alloc] init];
    class_desc = [[[ocid class] description] UTF8String];
  }
  snprintf(s, sizeof(s), "#<%s:0x%lx class='%s' id=%p>",
    rb_class2name(CLASS_OF(rcv)),
    NUM2ULONG(rb_obj_id(rcv)), 
    class_desc, ocid);
  if (pool != nil)
    [pool release];
  return rb_str_new2(s);
} | 
- (Number) __ocid__
Objective-C id value as Number.
| 125 126 127 128 129 | # File 'src/objc/cls_objcid.m', line 125
static VALUE
objcid_ocid(VALUE rcv)
{
  return OCID2NUM(OBJCID_ID(rcv));
} | 
- (Boolean) eql? Also known as: ==
overrides Object#eql? and Object#==.
Returns true when other contains same Objective-C
“id”.
| 203 204 205 206 207 208 209 210 | # File 'src/objc/cls_objcid.m', line 203
static VALUE
objcid_eql(VALUE rcv, VALUE other)
{
  if (rb_obj_is_kind_of(other, _kObjcID) && OBJCID_ID(rcv) == OBJCID_ID(other)) {
    return Qtrue;
  }
  return Qfalse;
} | 
- (FIXNUM) hash
overrides Object#hash.
Returns an hash value form internal Objective-C “id”.
| 179 180 181 182 183 184 185 186 | # File 'src/objc/cls_objcid.m', line 179
static VALUE
objcid_hash(VALUE rcv)
{
  id ocid;
  ocid = OBJCID_ID(rcv);
  return LONG2FIX(ocid);
} | 
- (Object) initialize_copy
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Returns shallow copied object by Object#dup.
| 108 109 110 111 112 113 | # File 'src/objc/cls_objcid.m', line 108
static VALUE
objcid_init_copy(VALUE self, VALUE orig)
{
  OBJCID_DATA_PTR(self)->ocid = OBJCID_DATA_PTR(orig)->ocid;
  return self;
} | 
- (String) inspect
overrides Object#inspect.
Object#inspect.
| 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 | # File 'src/objc/cls_objcid.m', line 136
static VALUE
objcid_inspect(VALUE rcv)
{
  char              s[512];
  id                ocid;
  struct bsConst *  bs_const;
  const char *      class_desc;
  id                pool;
  ocid = OBJCID_ID(rcv);
  bs_const = find_magic_cookie_const_by_value(ocid);
  if (bs_const != NULL) {
    pool = nil;
    class_desc = bs_const->class_name;
  }
  else {
    pool = [[NSAutoreleasePool alloc] init];
    class_desc = [[[ocid class] description] UTF8String];
  }
  snprintf(s, sizeof(s), "#<%s:0x%lx class='%s' id=%p>",
    rb_class2name(CLASS_OF(rcv)),
    NUM2ULONG(rb_obj_id(rcv)), 
    class_desc, ocid);
  if (pool != nil)
    [pool release];
  return rb_str_new2(s);
} | 
- (Object) release
Sends Objective-C “release” message to reciever.
| 94 95 96 97 98 99 100 101 102 | # File 'src/objc/cls_objcid.m', line 94
static VALUE
objcid_release(VALUE rcv)
{
  if (OBJCID_DATA_PTR(rcv)->can_be_released) {
    [OBJCID_ID(rcv) release];
    OBJCID_DATA_PTR(rcv)->can_be_released = NO;
  }
  return rcv;
} |