Objectively 1.0.0
Ultra-lightweight object oriented framework for GNU C.
URLSessionConfiguration.c
Go to the documentation of this file.
1/*
2 * URLSessionConfiguration.c
3 * Created on: Nov 30, 2014
4 * Author: jdolan
5 */
6
7
8#include <assert.h>
9
11
12#define _Class _URLSessionConfiguration
13
14#pragma mark - Object
15
19static void dealloc(Object *self) {
20
22
23 release(this->credentials.username);
24 release(this->credentials.password);
25 release(this->httpHeaders);
26
27 super(Object, self, dealloc);
28}
29
30#pragma mark - URLSessionConfiguration
31
37
38 self = (URLSessionConfiguration *) super(Object, self, init);
39 if (self) {
40 // wut
41 }
42
43 return self;
44}
45
46#pragma mark - Class lifecycle
47
51static void initialize(Class *clazz) {
52
53 ((ObjectInterface *) clazz->interface)->dealloc = dealloc;
54
55 ((URLSessionConfigurationInterface *) clazz->interface)->init = init;
56}
57
63 static Class *clazz;
64 static Once once;
65
66 do_once(&once, {
67 clazz = _initialize(&(const ClassDef) {
68 .name = "URLSessionConfiguration",
69 .superclass = _Object(),
70 .instanceSize = sizeof(URLSessionConfiguration),
71 .interfaceOffset = offsetof(URLSessionConfiguration, interface),
72 .interfaceSize = sizeof(URLSessionConfigurationInterface),
74 });
75 });
76
77 return clazz;
78}
79
80#undef _Class
ident release(ident obj)
Atomically decrement the given Object's reference count. If the resulting reference count is 0,...
Definition: Class.c:196
Class * _initialize(const ClassDef *def)
Initializes the given Class.
Definition: Class.c:91
#define super(type, obj, method,...)
static void initialize(Class *clazz)
Configuration bundle for URLSession.
long Once
The Once type.
Definition: Once.h:37
#define do_once(once, block)
Executes the given block at most one time.
Definition: Once.h:43
ClassDefs are passed to _initialize via an archetype to initialize a Class.
Definition: Class.h:41
The runtime representation of a Class.
Definition: Class.h:95
ident interface
The interface of the Class.
Definition: Class.h:105
Condition * init(Condition *self)
Initializes this Condition.
Definition: Condition.c:67
Object is the root Class of The Objectively Class hierarchy.
Definition: Object.h:46
Class * _Object(void)
The Object archetype.
Definition: Object.c:136
void dealloc(Object *self)
Frees all resources held by this Object.
Definition: Array.c:50
Configuration bundle for URLSession.
Class * _URLSessionConfiguration(void)
The URLSessionConfiguration archetype.