1Radare OO 2========= 3 4I do realize that Object Orientation sucks, so I tried to do libr API 5following some sane and basic OO concepts. 6 7 - No inheritance 8 - Instances are used to keep states 9 - Enforces instance recycling 10 - Reduce creation/destruction of objects 11 - Easily interfaced with Vala through the VAPIs 12 13Global picture 14-------------- 15 16``` 17[Class] 18 | 19 |-- [Plugins] // shared among instances 20 | \ 21 | \ 22 `------> [Instance] ----> [Liberation] 23``` 24 25* We need a construction/destruction API for plugins among instances 26 - simplify code 27 28A library implements a set of functionalities, those ones are mainly 29the lifecycle of the class containing the state of 30 31Plugins are singletons. Or we will have to create factories for every class. 32 33Lifecycle of the class 34---------------------- 35 36Class 37 - new 38 - as_new 39 - init 40 - free 41 42Library plugins 43--------------- 44 They are stored in the p/ directory of each library under the libr directory. 45 46