Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
branch: master
Fetching contributors…

Cannot retrieve contributors at this time

file 40 lines (32 sloc) 0.971 kb
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
Radare OO
=========

I do realize that Object Orientation sucks, so I tried to do libr API
following some sane and basic OO concepts.

  - No inheritance
  - Instances are used to keep states
  - Enforces instance recycling
  - Reduce creation/destruction of objects
  - Easily interfaced with Vala thru the VAPIs

Global picture
--------------
[Class]
   |
   |-- [Plugins] // shared among instances
   | \
   | \
   `------> [Instance] ----> [Liberation]

* We need a construction/destruction API for plugins among instances
  - simplify code

A library implements a set of functionalities, those ones are mainly
the lifecycle of the class containing the state of

Plugins are singletons. Or we will have to create factories for every class.

Lifecycle of the class
----------------------
  Class
   - new
   - as_new
   - init
   - free

Library plugins
---------------
  They are stored in the p/ directory of each library under the libr directory.
Something went wrong with that request. Please try again.