Objectively
Ultra-lightweight object oriented framework for GNU C.
Loading...
Searching...
No Matches
URLSessionConfiguration.c File Reference

Go to the source code of this file.

Macros

#define _Class   _URLSessionConfiguration
 

Functions

Class_URLSessionConfiguration (void)
 
static void dealloc (Object *self)
 
static URLSessionConfigurationinit (URLSessionConfiguration *self)
 
static void initialize (Class *clazz)
 

Macro Definition Documentation

◆ _Class

#define _Class   _URLSessionConfiguration

Definition at line 10 of file URLSessionConfiguration.c.

Function Documentation

◆ _URLSessionConfiguration()

Class * _URLSessionConfiguration ( void  )

Definition at line 62 of file URLSessionConfiguration.c.

62 {
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}
Class * _initialize(const ClassDef *def)
Initializes the given Class.
Definition Class.c:86
Class * _Object(void)
Definition Object.c:136
static void initialize(Class *clazz)
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
Configuration bundle for URLSession.

◆ dealloc()

static void dealloc ( Object self)
static
See also
Object::dealloc(Object *)

Definition at line 17 of file URLSessionConfiguration.c.

17 {
18
20
21 release(this->credentials.username);
22 release(this->credentials.password);
23 release(this->httpHeaders);
24 release(this->urlCache);
25
26 super(Object, self, dealloc);
27}
ident release(ident obj)
Atomically decrement the given Object's reference count. If the resulting reference count is 0,...
Definition Class.c:195
#define super(type, obj, method,...)
static void dealloc(Object *self)
Object is the root Class of The Objectively Class hierarchy.
Definition Object.h:46

◆ init()

static URLSessionConfiguration * init ( URLSessionConfiguration self)
static

Definition at line 35 of file URLSessionConfiguration.c.

35 {
36
37 self = (URLSessionConfiguration *) super(Object, self, init);
38 if (self) {
39 self->connectTimeout = 5;
40 self->urlCache = NULL;
41 }
42
43 return self;
44}
static URLSessionConfiguration * init(URLSessionConfiguration *self)
long connectTimeout
The timeout interval for establishing a connection, in seconds. 0 means no limit.
URLCache * urlCache
The cache for URL responses, or NULL to disable caching.

◆ initialize()

static void initialize ( Class clazz)
static
See also
Class::initialize(Class *)

Definition at line 51 of file URLSessionConfiguration.c.

51 {
52
53 ((ObjectInterface *) clazz->interface)->dealloc = dealloc;
54
55 ((URLSessionConfigurationInterface *) clazz->interface)->init = init;
56}
ident interface
The interface of the Class.
Definition Class.h:105