ObjFW  History of src/OFPlugin.m of 3777558ccdb8aa09

History of file src/OFPlugin.m at check-in 3777558ccdb8aa09

2024-10-27
11:38
OFPlugin: Allow path to be nil file: [184da07088] check-in: [5aba968988] user: js, branch: trunk, size: 3045 [annotate] [blame] [check-ins using] [diff]
2024-05-05
00:49
+[OFPlugin pathForName:]: Add fallback to .dylib file: [2c713ca183] check-in: [925c67cb45] user: js, branch: trunk, size: 2975 [annotate] [blame] [check-ins using] [diff]
2024-04-03
02:16
Change license to LGPLv3 only file: [cb86f84c31] check-in: [7413a728a7] user: js, branch: trunk, size: 2749 [annotate] [blame] [check-ins using] [diff]
2024-01-02
17:17
Update copyright file: [bf328ddc1e] check-in: [26ddd2e4e4] user: js, branch: trunk, size: 2541 [annotate] [blame] [check-ins using] [diff]
2023-01-06
09:04
Update copyright file: [e794e6a809] check-in: [8939cbdb52] user: js, branch: trunk, size: 2541 [annotate] [blame] [check-ins using] [diff]
2022-06-18
01:07
OFPlugin: Fix accidentally removed = file: [dfbf2c9e77] check-in: [c96f67f694] user: js, branch: trunk, size: 2541 [annotate] [blame] [check-ins using] [diff]
2022-06-17
17:12
OFPlugin: Completely redesign API file: [8ad69b7ef8] check-in: [a74bff96c4] user: js, branch: trunk, size: 2539 [annotate] [blame] [check-ins using] [diff]
2022-02-12
07:46
Update copyright file: [e14701ced1] check-in: [1a86b8175b] user: js, branch: trunk, size: 2967 [annotate] [blame] [check-ins using] [diff]
2021-04-25
11:05
A few last renames file: [71a9e453b8] check-in: [27103855c2] user: js, branch: new-naming-convention, size: 2967 [annotate] [blame] [check-ins using] [diff]
2021-04-19
21:54
Rename a few more constants file: [4e653a2def] check-in: [458420998c] user: js, branch: new-naming-convention, size: 2978 [annotate] [blame] [check-ins using] [diff]
2021-04-18
22:56
Rename all symbols marked extern file: [f022309a5c] check-in: [e73c65a849] user: js, branch: new-naming-convention, size: 2964 [annotate] [blame] [check-ins using] [diff]
2021-04-17
14:24
of_plugin_handle_t -> OFPluginHandle file: [b47ab783df] check-in: [cedc0cb75e] user: js, branch: new-naming-convention, size: 2964 [annotate] [blame] [check-ins using] [diff]
2021-04-04
13:25
Rename +[pluginFromFile:] to +[pluginWithPath:] file: [8802d6d561] check-in: [45f8195351] user: js, branch: trunk, size: 2993 [annotate] [blame] [check-ins using] [diff]
2021-01-02
22:04
Update copyright file: [12a642d8b0] check-in: [374e1a1bfa] user: js, branch: trunk, size: 2993 [annotate] [blame] [check-ins using] [diff]
2020-05-17
14:08
Add support for non-Unicode Windows in all classes file: [539230b0ba] check-in: [494acfb3e0] user: js, branch: trunk, size: 3082 [annotate] [blame] [check-ins using] [diff]
2020-01-02
01:51
Update copyright file: [3e825cedc9] check-in: [c7f0229795] user: js, branch: trunk, size: 2938 [annotate] [blame] [check-ins using] [diff]
2019-09-29
20:53
Reduce ivar scopes file: [e6fd971342] check-in: [e0a330b377] user: js, branch: trunk, size: 2935 [annotate] [blame] [check-ins using] [diff]
2019-03-08
00:35
Use dot syntax file: [503261dce9] check-in: [bceb7ed4c9] user: js, branch: trunk, size: 2923 [annotate] [blame] [check-ins using] [diff]
2019-01-03
19:13
Update copyright file: [edc663b796] check-in: [0509d7a844] user: js, branch: trunk, size: 2929 [annotate] [blame] [check-ins using] [diff]
2018-07-28
18:45
Rename OFLocalization -> OFLocale file: [68f1ae3e39] check-in: [aa0384d1bf] user: js, branch: trunk, size: 2923 [annotate] [blame] [check-ins using] [diff]
2018-02-09
00:00
Add OFLoadPluginFailedException

OFOpenItemFailedException was too unspecific and only allowed an errno,
but dlopen() uses dlerror() to report errors, which returns a string. file: [fc21e7fba3] check-in: [4642bc76b0] user: js, branch: trunk, size: 2946 [annotate] [blame] [check-ins using] [diff]

2018-02-07
21:11
OFPlugin: Adjust to having proper .bundles now file: [5d759baef8] check-in: [45f72a3f13] user: js, branch: trunk, size: 2789 [annotate] [blame] [check-ins using] [diff]
2018-01-03
19:49
Update copyright notice file: [e52e3ce382] check-in: [7e5c81e186] user: js, branch: trunk, size: 2533 [annotate] [blame] [check-ins using] [diff]
2017-11-05
18:25
Use -[isMemberOfClass:] instead of object_getClass file: [c1ce7e5d1a] check-in: [0a4565fb0f] user: js, branch: trunk, size: 2510 [annotate] [blame] [check-ins using] [diff]
2017-10-17
00:33
Do not use implicit method return types

Instead, explicitly declare them, as OF_ASSUME_NONNULL_{BEGIN,END} does
not apply to implicit return types. This means that after this commit,
all init methods have a nonnull return type, as they should have. file: [89bdff5a7e] check-in: [2f4e0df8be] user: js, branch: trunk, size: 2511 [annotate] [blame] [check-ins using] [diff]

2017-06-05
17:36
Clean up exceptions a little

This removes several initializers that omitted the errNo. Removing those
forces to think about whether there is a meaningful errNo to set instead
of just omitting it. file: [5fa3fa154b] check-in: [4f36894ce7] user: js, branch: trunk, size: 2497 [annotate] [blame] [check-ins using] [diff]

2017-05-07
20:10
Small code style change

Casts are now written like types in variable declarations. file: [5175fba523] check-in: [4af49a13c3] user: js, branch: trunk, size: 2426 [annotate] [blame] [check-ins using] [diff]

2017-01-09
17:36
Update copyright

Forgot to add 2017, even though I already did quite some changes in
2017. file: [c0e1766901] check-in: [44f45c2e35] user: js, branch: trunk, size: 2423 [annotate] [blame] [check-ins using] [diff]

06:26
Add OFLocalization

This singleton gives access to all things locale, including the ability
to get localized strings.

This also adds the OF_LOCALIZED() macro. Its first argument is an ID for
the string to be localized and its second argument is the fallback
string to be used if it cannot retrieve the localized string. Following
that are variable name / value pairs to be replaced in the localized
string.

Getting translated strings is not implemented yet: Instead, it always
uses the fallback string.

This also switches ofhttp to localized strings. file: [58ad217163] check-in: [06bcb21fc7] user: js, branch: trunk, size: 2417 [annotate] [blame] [check-ins using] [diff]

2016-07-11
19:04
Windows improvements for of_dl{open,sym,close} file: [50477690f4] check-in: [c91508ddfb] user: js, branch: trunk, size: 2423 [annotate] [blame] [check-ins using] [diff]
2016-07-10
22:40
Add of_dl{open,sym,close}

It only makes sense to export the lowlevel variants as well. file: [565f8364c6] check-in: [81970b1dab] user: js, branch: trunk, size: 2351 [annotate] [blame] [check-ins using] [diff]

2016-01-03
00:43
Update copyright

While at it, also update the mail address. file: [f2de0631c1] check-in: [cec0f072f8] user: js, branch: 0.8, size: 2100 [annotate] [blame] [check-ins using] [diff]

00:41
Update copyright

While at it, also update the mail address. file: [7e1181f07e] check-in: [2a27cf3000] user: js, branch: trunk, size: 2108 [annotate] [blame] [check-ins using] [diff]

2015-10-19
22:15
Add platform.h & make platform defines consistent file: [ac9fc693b2] check-in: [1ba08eebc5] user: js, branch: trunk, size: 2104 [annotate] [blame] [check-ins using] [diff]
2015-01-03
20:57
Update copyright file: [e05c354263] check-in: [cfd374b906] user: js, branch: trunk, size: 2096 [annotate] [blame] [check-ins using] [diff]
2014-10-04
21:59
Add +[OFSystemInfo native8BitEncoding]

This replaces +[OFString nativeOSEncoding]. file: [0a0de2607d] check-in: [ec66e49dca] user: js, branch: trunk, size: 2090 [annotate] [blame] [check-ins using] [diff]

2014-06-21
21:43
Move all macros from OFObject.h to macros.h

This means that OFObject.h imports macros.h now, making it unnecessary
to manually import macros.h in almost every file. And while at it, also
import autorelease.h in OFObject.h, so that this doesn't need to be
manually imported in almost every file as well. file: [72b6e8f4e8] check-in: [13ee56edf3] user: js, branch: trunk, size: 2059 [annotate] [blame] [check-ins using] [diff]

2014-05-15
15:32
Work around dlsym() API not being valid C

This only silences the compiler. Storing function pointers in void* is
illegal, yet POSIX requires it. file: [a5b4d66f4b] check-in: [4a2f61814f] user: js, branch: trunk, size: 2084 [annotate] [blame] [check-ins using] [diff]

2014-01-16
23:38
Add +[OFString nativeOSEncoding].

This replaces OF_STRING_ENCODING_NATIVE, as a define was not flexible
enough (determining the native OS encoding at startup was not possible). file: [28a68da273] check-in: [e54c8c0368] user: js, branch: trunk, size: 2028 [annotate] [blame] [check-ins using] [diff]

2014-01-04
00:24
Update copyright. file: [a9550de16c] check-in: [3b97fc3cd9] user: js, branch: trunk, size: 2026 [annotate] [blame] [check-ins using] [diff]
2013-05-22
20:36
Don't depened on execinfo.h for backtraces.

Instead, __builtin_return_address() is used now. This makes backtraces
available on many platforms, it even works if dladdr is missing (it does
not show symbol names then, though). file: [b063f0c48a] check-in: [a889f21180] user: js, branch: trunk, size: 2020 [annotate] [blame] [check-ins using] [diff]

2013-02-12
18:22
Prefix all ivars with an underscore. file: [ae3dcbbf47] check-in: [e40729d406] user: js, branch: trunk, size: 2014 [annotate] [blame] [check-ins using] [diff]
2013-01-12
17:29
Rename *UsingEncoding: to *WithEncoding:.

This reverts 5362941.

Even though *UsingEncoding: is what Foundation uses, *WithEncoding: is
more natural and is more consistent with the rest. Also, this means this
restores it to the API of 0.7. file: [929f009f47] check-in: [9ddd33a258] user: js, branch: trunk, size: 2012 [annotate] [blame] [check-ins using] [diff]

2013-01-09
22:24
Update copyright. file: [8af09a0477] check-in: [813c00ccf0] user: js, branch: trunk, size: 2013 [annotate] [blame] [check-ins using] [diff]
2013-01-08
03:13
Win32: Allow Unicode filenames in file operations. file: [27e1ed9410] check-in: [94a9a18106] user: js, branch: trunk, size: 2007 [annotate] [blame] [check-ins using] [diff]
2012-12-22
15:37
Add -[doesNotRecognizeSelector:]. file: [260b8dfd9b] check-in: [917ce5754c] user: js, branch: trunk, size: 2023 [annotate] [blame] [check-ins using] [diff]
2012-12-15
23:31
OFString: Improved API for getting C strings. file: [26711ccaf1] check-in: [e2f4c1283c] user: js, branch: trunk, size: 2072 [annotate] [blame] [check-ins using] [diff]
2012-10-21
22:12
Make GCC 4.4 happy. file: [1e21ccb1ef] check-in: [fcade8da38] user: js, branch: trunk, size: 2071 [annotate] [blame] [check-ins using] [diff]
2012-08-10
20:08
Directly use the runtime's autorelease pools.

This greatly improves performance, as it gets rid of the overhead of
OFAutoreleasePool. file: [a25e85e2c5] check-in: [1255f3a11a] user: js, branch: trunk, size: 2061 [annotate] [blame] [check-ins using] [diff]

2012-07-20
14:17
Blocks need to be copied, not retained. file: [c230c7ec3d] check-in: [ddcfab2b93] user: js, branch: trunk, size: 2077 [annotate] [blame] [check-ins using] [diff]
2012-07-12
01:28
Don't access isa directly. file: [9ce801be06] check-in: [8892ae9fcc] user: js, branch: trunk, size: 2087 [annotate] [blame] [check-ins using] [diff]
2012-02-28
14:28
Make it more clear that +[pluginFromFile:] does not return OFPlugin*. file: [77231c2582] check-in: [acd6d2ff67] user: js, branch: 0.6, size: 2052 [annotate] [blame] [check-ins using] [diff]
14:28
Make it more clear that +[pluginFromFile:] does not return OFPlugin*. file: [c2bd5da7b9] check-in: [0727c9266b] user: js, branch: trunk, size: 2060 [annotate] [blame] [check-ins using] [diff]
2012-02-27
22:59
Add void to parameter list. file: [9c61bbf5f1] check-in: [e53bf9f3fc] user: js, branch: trunk, size: 2056 [annotate] [blame] [check-ins using] [diff]
2012-01-05
00:56
Update copyright. file: [c9d1104dc0] check-in: [ce70e17b38] user: js, branch: trunk, size: 2048 [annotate] [blame] [check-ins using] [diff]
2011-09-22
23:25
Exceptions are now autoreleased.

This is safe as an "exception loop" can't happen, since if allocating
an exception fails, it throws an OFAllocFailedException which is
preallocated and can always be thrown.

So, the worst case would be that an autorelease of an exception fails,
triggering an OFOutOfMemoryException for which there is no memory,
resulting in an OFAllocFailedException to be thrown. file: [eaefae089e] check-in: [e1e7ffa903] user: js, branch: trunk, size: 2042 [annotate] [blame] [check-ins using] [diff]

2011-09-12
19:57
Rename -[cString] to -[UTF8String]. file: [a03d84cb4d] check-in: [e6fd39d11e] user: js, branch: trunk, size: 2013 [annotate] [blame] [check-ins using] [diff]
2011-04-24
21:50
Add -[finalize] to all classes which would require it once we have GC. file: [0f2a144c82] check-in: [07b3d0e8de] user: js, branch: trunk, size: 2029 [annotate] [blame] [check-ins using] [diff]
2011-04-22
21:08
More style improvements. file: [ce104d5d58] check-in: [fb95acc8ab] user: js, branch: trunk, size: 1969 [annotate] [blame] [check-ins using] [diff]
2011-03-24
19:42
Get rid of OFExceptions.h. file: [1a436fda73] check-in: [cda44767f4] user: js, branch: trunk, size: 1973 [annotate] [blame] [check-ins using] [diff]
2011-02-27
14:40
OFPlugin: Don't close the handle before calling [super dealloc].

If we close the handle before calling [super dealloc], the plugin class
does not exist anymore. Instead, cache the handle, call [super dealloc]
and then close the handle. file: [69b3d14f45] check-in: [9b88ee6978] user: js, branch: trunk, size: 1915 [annotate] [blame] [check-ins using] [diff]

2011-01-01
20:19
Change license. file: [ff6017ec5d] check-in: [da6b3d26cb] user: js, branch: trunk, size: 1887 [annotate] [blame] [check-ins using] [diff]
2010-10-25
23:03
Clean up a lot of code (mostly init methods) and fix a missing rethrow. file: [0c901eacaf] check-in: [8a7ca573c4] user: js, branch: trunk, size: 1631 [annotate] [blame] [check-ins using] [diff]
2010-07-02
20:45
Rename +[elementWithText:] to +[elementWithCharacters:]. file: [510d0be2d3] check-in: [4ea5f3f7fd] user: js, branch: trunk, size: 1593 [annotate] [blame] [check-ins using] [diff]
2010-02-19
16:36
Update copyright. file: [7906a08f5e] check-in: [42886185fd] user: js, branch: trunk, size: 1590 [annotate] [blame] [check-ins using] [diff]
2010-01-16
15:05
Reduce dependencies between headers. file: [fb2254b3a7] check-in: [1433aef0d0] user: js, branch: trunk, size: 1590 [annotate] [blame] [check-ins using] [diff]
14:43
Remove mutation methods from immutable classes' interfaces. file: [2ac3e6603f] check-in: [1348a32d47] user: js, branch: trunk, size: 1569 [annotate] [blame] [check-ins using] [diff]
2009-11-09
22:45
Rename libobjfw to ObjFW. file: [403317ec50] check-in: [a3cc34b139] user: js, branch: trunk, size: 1562 [annotate] [blame] [check-ins using] [diff]
2009-10-19
08:31
Add plugin support for Win32. file: [7086c924a4] check-in: [3194cede14] user: js, branch: trunk, size: 1565 [annotate] [blame] [check-ins using] [diff]
2009-10-01
12:44
Let the init function of the plugin autorelease it. file: [5285064f8a] check-in: [62eddf9d21] user: js, branch: trunk, size: 1334 [annotate] [blame] [check-ins using] [diff]
2009-09-01
11:39
Use OFMutableString in OFPlugin instead of doing it manually. file: [669225b91e] check-in: [cdfdea289e] user: js, branch: trunk, size: 1348 [annotate] [blame] [check-ins using] [diff]
11:32
Rename -[length] to -[cStringLength] in OFString. file: [e2e99b5635] check-in: [3ed599fe98] user: js, branch: trunk, size: 1552 [annotate] [blame] [check-ins using] [diff]
2009-07-24
22:44
RTLD_LAZY makes more sense, as we only need a few symbols looked up. file: [773d6d11cf] check-in: [e549c515e0] user: js, branch: trunk, size: 1545 [annotate] [blame] [check-ins using] [diff]
2009-07-19
16:01
Prevent calling -[init] if parameters are required. file: [59ef9c4044] check-in: [42e16978dc] user: js, branch: trunk, size: 1544 [annotate] [blame] [check-ins using] [diff]
14:05
Rename andFoo: to foo: in all methods. file: [310c254d06] check-in: [4eae61a78f] user: js, branch: trunk, size: 1396 [annotate] [blame] [check-ins using] [diff]
2009-06-09
23:33
Return plugins autoreleased in OFPlugin. file: [81e7a99874] check-in: [5df8f61fe4] user: js, branch: trunk, size: 1396 [annotate] [blame] [check-ins using] [diff]
2009-05-29
19:21
A few renames.

OFExceptions:
* OFNoMemException to OFOutOfMemoryException.
* OFMemNotPartOfObjException to OFMemoryNotPartOfObjectException.

OFObject:
* -[addItemToMemoryPool:] to -[addMemoryToPool:].
* -[allocWithSize:] to -[allocMemoryWithSize:].
* -[allocNItems:withSize] to -[allocMemoryForNItems:withSize:].
* -[resizeMem:toSize] to -[resizeMemory:toSize:].
* -[resizeMem:toNItems:withSize:] to
-[resizeMemoryToNItems:withSize:].
* -[freeMem] to -[freeMemory:].

OFString:
* -[urlencode] to -[urlEncodedString].
* -[urldecode] to -[urlDecodedString]. file: [fccb9d70a0] check-in: [033054ad75] user: js, branch: trunk, size: 1382 [annotate] [blame] [check-ins using] [diff]

2009-05-24
18:04
Always use #include "config.h" instead of #import "config.h". file: [78e8296fc9] check-in: [94ea6848a8] user: js, branch: trunk, size: 1376 [annotate] [blame] [check-ins using] [diff]
2009-05-15
20:01
Use OFString as much as possible. file: [6ef03d99d0] check-in: [67066be692] user: js, branch: trunk, size: 1375 [annotate] [blame] [check-ins using] [diff]
2009-05-13
20:31
Rename - free to - (void)dealloc. file: [0c45c3aa04] check-in: [9e6dd00ef5] user: js, branch: trunk, size: 1366 [annotate] [blame] [check-ins using] [diff]
2009-04-21
17:16
The if ((self = [super init])) construct isn't needed anymore. file: [b318936bd6] check-in: [d87df02e8b] user: js, branch: trunk, size: 1361 [annotate] [blame] [check-ins using] [diff]
2009-04-19
20:29
Remove stuff forgotten after moving code in OFPlugin. file: [b72d21c5c5] check-in: [066bf9c8c3] user: js, branch: trunk, size: 1447 [annotate] [blame] [check-ins using] [diff]
17:06
Don't use forwarding for OFPlugin.

This is faster and we don't rely on forwarding which is broken in
both, the GNU and the Apple runtime. Eventually, there will be an
implementation for forwarding that does work around the runtime bugs,
but still, an implementation of OFPlugin without forwarding makes more
sense. file: [ee4d5662a9] check-in: [179174571e] user: js, branch: trunk, size: 1562 [annotate] [blame] [check-ins using] [diff]

2009-04-13
16:29
OFPlugin: Properly close handle on error. file: [bfb6a3d936] check-in: [297dbbb2b1] user: js, branch: trunk, size: 1954 [annotate] [blame] [check-ins using] [diff]
2009-03-14
17:17
Added: Preliminary OFPlugin implementation.
Win32 isn't supported yet due to the problems libobjc + DLLs.
file: [496529e854] check-in: [2e13035431] user: js, branch: trunk, size: 1823 [annotate] [blame] [check-ins using]