Public Member Functions | Static Public Member Functions | Public Attributes

OFObject Class Reference

The root class for all other classes inside ObjFW. More...

#import <OFObject.h>

Inheritance diagram for OFObject:
<OFObject> OFAllocFailedException OFApplication OFArray OFAutoreleasePool OFDataArray OFDate OFDictionary OFEnumerator OFException OFHash OFHTTPRequest OFHTTPRequestResult OFList OFMutex OFNumber OFPlugin OFStream OFStreamObserver OFString OFThread OFTLSKey OFURL OFXMLAttribute OFXMLElement OFXMLElementBuilder OFXMLParser

List of all members.

Public Member Functions

(id) - init
(OFString *) - className
(BOOL) - conformsToProtocol:
(IMP) - methodForSelector:
(const char *) - typeEncodingForSelector:
(OFString *) - description
(void) - addMemoryToPool:
(void *) - allocMemoryWithSize:
(void *) - allocMemoryForNItems:withSize:
(void *) - resizeMemory:toSize:
(void *) - resizeMemory:toNItems:withSize:
(void) - freeMemory:
(void) - dealloc

Static Public Member Functions

(void) + load
(void) + initialize
(id) + alloc
(Class) + class
(OFString *) + className
(BOOL) + isSubclassOfClass:
(Class) + superclass
(BOOL) + instancesRespondToSelector:
(BOOL) + conformsToProtocol:
(IMP) + instanceMethodForSelector:
(const char *) + typeEncodingForInstanceSelector:
(OFString *) + description
(IMP) + setImplementation:forClassMethod:
(IMP) + replaceClassMethod:withMethodFromClass:
(IMP) + setImplementation:forInstanceMethod:
(IMP) + replaceInstanceMethod:withMethodFromClass:

Public Attributes

Class isa
 The class of the object.

Detailed Description

The root class for all other classes inside ObjFW.


Member Function Documentation

- (void) addMemoryToPool: (void*)  ptr  

Adds a pointer to the object's memory pool.

This is useful to add memory allocated by functions such as asprintf to the pool so it gets free'd automatically when the object is deallocated.

Parameters:
ptr A pointer to add to the memory pool
+ (id) alloc  

Allocates memory for an instance of the class and sets up the memory pool for the object.

alloc will never return nil, instead, it will throw an OFAllocFailedException.

Returns:
The allocated object.
- (void *) allocMemoryForNItems: (size_t)  nitems
withSize: (size_t)  size 

Allocates memory for the specified number of items and stores it in the object's memory pool so it can be free'd automatically when the object is deallocated.

Parameters:
nitems The number of items to allocate
size The size of each item to allocate
Returns:
A pointer to the allocated memory
- (void *) allocMemoryWithSize: (size_t)  size  

Allocates memory and stores it in the object's memory pool so it can be free'd automatically when the object is deallocated.

Parameters:
size The size of the memory to allocate
Returns:
A pointer to the allocated memory
+ (Class) class  
Returns:
The class

Reimplemented from <OFObject>.

- (OFString*) className  
Returns:
The name of the object's class.
+ (OFString *) className  
Returns:
The name of the class as a C string
+ (BOOL) conformsToProtocol: (Protocol*)  protocol  

Checks whether the class conforms to a given protocol.

Parameters:
protocol The protocol which should be checked for conformance
Returns:
A boolean whether the class conforms to the specified protocol
- (BOOL) conformsToProtocol: (Protocol *)  protocol  
Parameters:
protocol The protocol which should be checked for conformance
Returns:
A boolean whether the objects conforms to the specified protocol
- (void) dealloc  

Deallocates the object and also frees all memory in its memory pool.

It is also called when the retain count reaches zero.

- (OFString*) description  

Returns a description for the object.

This is mostly for debugging purposes.

Reimplemented in OFAllocFailedException, and OFException.

+ (OFString *) description  

Returns a description for the class, which is usually the class name.

This is mostly for debugging purposes.

Reimplemented in OFAllocFailedException, and OFException.

- (void) freeMemory: (void*)  ptr  

Frees allocated memory and removes it from the object's memory pool. Does nothing if ptr is NULL.

Parameters:
ptr A pointer to the allocated memory
- (id) init  

Initializes an already allocated object.

Derived classes may override this, but need to do self = [super init] before they do any initialization themselves. init may never return nil, instead an exception (for example OFInitializationFailed) should be thrown.

Returns:
An initialized object

Reimplemented in OFTLSKey.

+ (void) initialize  

This code is executed once when a method of the class is called for the first time.

Derived classes can override this to execute their own code on initialization.

+ (IMP) instanceMethodForSelector: (SEL)  selector  
Parameters:
selector The selector for which the method should be returned
Returns:
The implementation of the instance method for the specified selector or nil if it isn't implemented
+ (BOOL) instancesRespondToSelector: (SEL)  selector  

Checks whether instances of the class respond to a given selector.

Parameters:
selector The selector which should be checked for respondance
Returns:
A boolean whether instances of the class respond to the specified selector
+ (BOOL) isSubclassOfClass: (Class)  class_  
Parameters:
class_ The class which is checked for being a superclass
Returns:
A boolean whether the class class is a subclass of the specified class
+ (void) load  

This code is executed once when the class is loaded into the runtime.

Derived classes can overide this to execute their own code when the class is loaded.

- (IMP) methodForSelector: (SEL)  selector  
Parameters:
selector The selector for which the method should be returned
Returns:
The implementation for the specified selector
+ (IMP) replaceClassMethod: (SEL)  selector
withMethodFromClass: (Class)  class_ 

Replaces a class method with a class method from another class.

Parameters:
selector The selector of the class method to replace
class_ The class from which the new class method should be taken
Returns:
The old implementation
+ (IMP) replaceInstanceMethod: (SEL)  selector
withMethodFromClass: (Class)  class_ 

Replaces an instance method with an instance method from another class.

Parameters:
selector The selector of the instance method to replace
class_ The class from which the new instance method should be taken
Returns:
The old implementation
- (void *) resizeMemory: (void*)  ptr
toNItems: (size_t)  nitems
withSize: (size_t)  size 

Resizes memory in the object's memory pool to the specific number of items of the specified size.

Parameters:
ptr A pointer to the already allocated memory
nitems The number of items to resize to
size The size of each item to resize to
Returns:
A pointer to the resized memory chunk
- (void *) resizeMemory: (void*)  ptr
toSize: (size_t)  size 

Resizes memory in the object's memory pool to the specified size.

Parameters:
ptr A pointer to the already allocated memory
size The new size for the memory chunk
Returns:
A pointer to the resized memory chunk
+ (IMP) setImplementation: (IMP)  newimp
forClassMethod: (SEL)  selector 

Replaces a class method implementation with another implementation.

Parameters:
newimp The new implementation for the class method
selector The selector of the class method to replace
Returns:
The old implementation
+ (IMP) setImplementation: (IMP)  newimp
forInstanceMethod: (SEL)  selector 

Replaces an instance method implementation with another implementation.

Parameters:
newimp The new implementation for the instance method
selector The selector of the instance method to replace
Returns:
The old implementation
+ (Class) superclass  
Returns:
The superclass of the class
+ (const char *) typeEncodingForInstanceSelector: (SEL)  selector  
Parameters:
selector The selector for which the type encoding should be returned
Returns:
The type encoding of the instance method for the specified selector
- (const char *) typeEncodingForSelector: (SEL)  selector  
Parameters:
selector The selector for which the type encoding should be returned
Returns:
The type encoding for the specified selector

The documentation for this class was generated from the following files:
 All Classes Functions Variables