Commit graph

302 commits

Author SHA1 Message Date
Christian Thaeter
eba465998c add some trace points to mmpcache 2008-12-15 01:17:23 +01:00
Christian Thaeter
db202e298e mmap updates/refactoring 2008-12-15 01:17:23 +01:00
Christian Thaeter
9f497cdaa3 lumiera_file_chunksize_get() function 2008-12-15 01:17:23 +01:00
Christian Thaeter
430ec0bf8b Fixed file initialization semantic (don't leak memory on error) 2008-12-15 01:17:23 +01:00
Christian Thaeter
a5119f8947 cosmetics and documentation in file.h, remove lumiera_file_descriptor() 2008-12-15 01:17:23 +01:00
Christian Thaeter
bb74bfbc22 fixup handle_acquire/_release for file and filedescriptor 2008-12-15 01:17:22 +01:00
Christian Thaeter
c2e2a0e525 some pending cosmetics, comments and checks 2008-12-15 01:17:22 +01:00
Christian Thaeter
da7fd1242b move the mmapings nobug flag to backend.c 2008-12-15 01:17:22 +01:00
Christian Thaeter
408528d1e2 factor file-mmap chunksize setting out into its own function 2008-12-15 01:17:22 +01:00
Christian Thaeter
9d0985feb7 remove the refcounter from filedescriptor and use a list to attach files 2008-12-15 01:17:22 +01:00
Christian Thaeter
e953c3003b Refactored filehandle/filehandlecache to use a normal init function 2008-12-15 01:17:22 +01:00
Christian Thaeter
e9cca69fb1 More things for the filedescriptor destructor
* truncate the file to its realsize
 * destroy its mmapings
2008-12-15 01:17:21 +01:00
Christian Thaeter
a0cff36066 some smaller fixes in filedescriptor
* change mode for created files to 0666 (TODO: from config)
 * some members where not properly initialized yet
 * docing fixes
2008-12-15 01:17:21 +01:00
Christian Thaeter
208f7e2d76 Refactored filehandle acquisition to filehandle.c (duh!)
some old ad-hoc code slipped in which did that in file.c
2008-12-15 01:17:21 +01:00
Christian Thaeter
c88a2ffa1e move mmapcache and filehandle nobug flags into backend.c 2008-12-15 01:17:21 +01:00
Christian Thaeter
219db59d82 renamed backend config entries
adding one level more, more descriptive
2008-12-15 01:17:21 +01:00
Christian Thaeter
5bbe80b370 preliminary use of the config system for some settings
* backend.filehandles maximum filehandles used
 * backend.mmap_window_size mapping window start size
 * backend.as_limit address space limit

This needs to be changed to use the lumieraorg_configuration interface.
2008-12-15 01:17:21 +01:00
Christian Thaeter
2a0b5dca5e Fix: mutex initialization, remove explicit RESOURCE_HANDLES
The new mutex has an implicit resource handle
2008-12-15 01:17:21 +01:00
Christian Thaeter
e938b36071 WIP: mmap management first go
Quite some code which was hold back in favor of the config and plugin stuff
implements:

 * mmapcache: mru cache for unused memory mappings
 * mmap: single mmaped areas
 * mmapings: manages mmaps established for one filedescriptor
2008-12-15 01:17:21 +01:00
Simeon Voelkel
8c2b98a2e1 re-indented and moved static functions to fit Lumiera's coding standard 2008-12-15 01:17:20 +01:00
Simeon Voelkel
f89708e117 split lumiera_configitem_parse into several smaller static functions 2008-12-15 01:17:20 +01:00
f13f851d77 error message when plugin.c is built without defining the plugin search path
(and btw... thanks for the hint ;-)
2008-11-07 23:10:08 +01:00
Christian Thaeter
aae3c8ed81 LUMIERA_PLUGIN is dead, long life LUMIERA_PLUGIN
removes the difference in compiled in and plugin interfaces.
 * All interfaces are now defined with LUMIERA_EXPORT(...)
 * The definition of LUMIERA_PLUGIN at compile time takes action to compile
   as plugin which gets automatically managed.
 * compiled in (core) interfaces need still be registered, this is
   simplified with the LUMIERA_INTERFACE_REGISTEREXPORTED and
   LUMIERA_INTERFACE_UNREGISTEREXPORTED macros which become no-ops for
   plugins.
2008-11-06 05:23:47 +01:00
Christian Thaeter
c04f1e77d6 set LUMIERA_PLUGIN_PATH to $pkglibdir as default 2008-11-06 04:13:13 +01:00
Christian Thaeter
d5c61c0e9d let plugin_discover() barf out when the plugin.path config cant be found 2008-11-05 11:33:49 +01:00
Christian Thaeter
fa6b6d54e9 hook the plugin refcounting in
The plugin refcounter is driven from interface opening/closing, this is
quite internal.

The 'last' time in plugin now records the last time the refcounter dropped
to 0, this is just sufficient enough to find out how long a plugin is
unused.
2008-11-05 11:33:29 +01:00
Christian Thaeter
7afce647fb few tool functions for the plugin implementation
* plugin_name() to figure out the name of the plugin
 * plugin_refinc() and plugin_refdec() to manage the refcount
2008-11-05 11:33:28 +01:00
Christian Thaeter
c26cd391b0 automatic plugin unloading at interfaceregistry_destroy()
All open plugins will be unloaded when the registry gets destroyed.
If there are still interfaces open, this will assert at ALPHA builds.
2008-11-05 11:33:28 +01:00
Christian Thaeter
240e7cb295 plugin_unload must lock the registry tree 2008-11-05 11:33:28 +01:00
Christian Thaeter
c35e5fb0f9 Plugin unloading, at least manually works 2008-11-05 11:33:28 +01:00
Christian Thaeter
2646b9035b some plugin docwork 2008-11-05 11:33:28 +01:00
Christian Thaeter
3155ae068f Loading of dynamic modules
* loads dynamic libs as module.
 * file extensions .so and .lum (LUmieraModule)
 - no unloading yet
2008-11-05 11:33:28 +01:00
Christian Thaeter
7c2415838b WIP: big plugin update
* fix configure.ac to check for dlopen, introduce $(LUMIERA_PLUGIN_LIBS)
 * Generic pluginloader finished, all plugins get loaded and registered at
   start for now, it is prepared for on-demand loading and unloading but
   not implemented because that needs the plugindb.
 - plugin unloading not yet finished, this asserts at the end
2008-11-05 11:33:28 +01:00
Christian Thaeter
c30c98bebd add a LUMIERA_INTERFACE_CLOSE macro
This is a small typesafe wrapper around the interface_close() function
and since we need INTERFACE_OPEN wraped too this makes it more orthogonal
2008-11-05 11:33:28 +01:00
Christian Thaeter
4d2fe242d0 Some more interfaces improvements
* add a lumiera_interface_version() function for runtime type and version
   checking of interfaces
 * the 'lumieraorg__plugin' interface is now private
 * add a macro to construct a interface instance name string
2008-11-05 11:33:27 +01:00
Christian Thaeter
2342c3a87a New Plugin implementation
* plugin{.h,.c} are back but work in progress
 * the interfaceregistry also manages a pluginregistry, makes no much sense
   to isolate it yet, both share a mutex and are commonly used together
2008-11-03 08:07:22 +01:00
Christian Thaeter
48778cf3d7 WIP: new plugin.h header
This ditches the old 'proof of concept' implementation, interfaces and
plugins are internally separate now and publically only accessed over
the 'interfaces' api.

The interface registry now gets an additional 'plugin' member to
backreference plugins from interfaces.
2008-10-31 06:42:53 +01:00
Christian Thaeter
7be18d6344 Adding explicit delimiters to the config wordlist feature
This greatly simplifies the task where we want to handle colon separated
paths within the config.
2008-10-31 06:29:55 +01:00
Christian Thaeter
b242f3359b Fix/Wip: LUMIERA_PLUGIN definition
There where some bugs slipped in (not yet tested code)

removed the descriptor from the plugin itself, lets see if we can remove
the acquire and release functions later too.

Declare the plugin interface itself in its first experimental state
2008-10-27 05:10:24 +01:00
Christian Thaeter
84df018931 some cosmetics and a copy'n'paste interfacedescriptor example 2008-10-27 05:09:20 +01:00
Christian Thaeter
99e3e79fe6 Complete the interface descriptor declaration
After a discussion with ichthyo and some further thinking this should be
mostly finished now. Nevertheless it is still experimental until we gain
experience with it.
2008-10-27 05:08:53 +01:00
Christian Thaeter
0e5a13ec31 give a warning when using experimental interfaces 2008-10-21 05:22:59 +02:00
Christian Thaeter
ebcc5c7fd2 Fix: old plugin.c|.h must not be compiled and linked 2008-10-15 22:53:55 +02:00
Christian Thaeter
26c212b292 make the old plugin stuff barely compileable, disable tests, fix later 2008-10-15 22:18:17 +02:00
Christian Thaeter
9752de3102 Some prelimary TODO's for filedescriptor.c to be fixed later 2008-10-15 22:05:22 +02:00
Christian Thaeter
9943dd76fd use a recursive mutex to lock interface operations
locking interfaceregistry operations and later on open/close etc
2008-10-15 17:21:22 +02:00
Christian Thaeter
f7fa5769ca Start of a 'wordlist' type for the config subsystem
wordlists are simple not quoted words delimited by semicolon, tab, space or
commas. Some special functions will allow to access each of this words by
index etc.
2008-10-15 17:19:53 +02:00
Christian Thaeter
0cf7dec793 Interfaceregistry for 'active' interfaces
All interfaces which are available get registered in a tree.
This will be used internal for lookup interfaces. The higher level calls
will be an	amalgamation of this lookup and the upcoming plugindb and
loader.
2008-10-15 17:18:03 +02:00
Christian Thaeter
29f5a0f2ab moved the remaining interface stuff from lib to backend 2008-10-15 16:05:17 +02:00
Christian Thaeter
f05f6772f1 Interface system refactoring
* lumiera_interface are now static structures, never wrritten
 * introduced a lumiera_interfacenode which manages the dynamic data
   of interfaces. The interfaceregistry now holds this nodes.
2008-10-15 16:05:17 +02:00
Christian Thaeter
405a578c42 WIP: interface open/close handling cross dependencies 2008-10-15 16:05:17 +02:00
Christian Thaeter
a6ddb55e9b use a recursive mutex to lock interface operations
locking interfaceregistry operations and later on open/close etc
2008-10-15 16:05:15 +02:00
Christian Thaeter
4bfe430f38 Interfaceregistry for 'active' interfaces
All interfaces which are available get registered in a tree.
This will be used internal for lookup interfaces. The higher level calls
will be an	amalgamation of this lookup and the upcoming plugindb and
loader.
2008-10-15 16:04:28 +02:00
Christian Thaeter
fdbab22ce4 some cosmetics for the config subsystem 2008-10-15 16:01:08 +02:00
Christian Thaeter
2ae274ea51 add wordlist_add function to add a word to a wordlist 2008-10-15 16:01:08 +02:00
Christian Thaeter
211b470e85 docing existing wordlist funcs 2008-10-15 16:01:07 +02:00
Christian Thaeter
b0e60e23e0 change config rwlock to mutex
This was overseen with the splay tree transistion. lookups mutate the
structure, thus it needs to be locked completely.
2008-10-15 16:01:07 +02:00
Christian Thaeter
2041efe5b6 more on config_wordlist
* universal replace function
 * tests
 * missing declarations
2008-10-15 16:01:07 +02:00
Christian Thaeter
f754e1521f Start of a 'wordlist' type for the config subsystem
wordlists are simple not quoted words delimited by semicolon, tab, space or
commas. Some special functions will allow to access each of this words by
index etc.
2008-10-15 16:01:06 +02:00
Christian Thaeter
0346e113e5 use a recursive mutex to lock interface operations
locking interfaceregistry operations and later on open/close etc
2008-10-15 15:51:29 +02:00
Christian Thaeter
14a9e95492 moved plugin code from lib to backend
Plugin management will become stateful. This qualifies it to become a
backend subsystem.
2008-10-15 15:49:34 +02:00
Christian Thaeter
7c992c000d config setters for number and word, thats it for now 2008-09-10 15:19:50 +02:00
Christian Thaeter
4b2973de27 some cosmetics, removed the CONFIG_DEFAULT error which is not used anymore 2008-09-10 15:19:50 +02:00
Christian Thaeter
e8cc26efa4 First highlevel setter, small api change
* setters return LumieraConfigitem (or NULL) instead int
 * the config_string_set works now
2008-09-10 15:19:50 +02:00
Christian Thaeter
928847a193 little more verbose logging, dump some values at TRACE points 2008-09-10 15:19:50 +02:00
Christian Thaeter
056bb87f30 config api change, return pointers as truth value
NULL indicates some failure,
anything else success (with some usable value)
2008-09-10 15:19:50 +02:00
Christian Thaeter
d26a92b67f add configitem_set_value to modify the delim/value of a existing item 2008-09-10 15:19:50 +02:00
Michael Ploujnikov
f5387d8bf3 Merge branch 'master' of git://git.lumiera.org/LUMIERA
Conflicts:

	tests/Makefile.am
2008-09-06 20:15:05 -04:00
Christian Thaeter
c4e6cd3c51 Merge branch 'configloader_devel' of git://git.lumiera.org/lumiera/simeon into backend_devel
* 'configloader_devel' of git://git.lumiera.org/lumiera/simeon: (24 commits)
  Added directive-parser and tests for a content-check of a parsed configitem
  Fixed configitem_move, first parsing tests pass now
  FIX: Remove llist_move again and put a note to list_relocate, add test
  WIP: add config_lookup skeleton
  filedescriptor fixup for new copy func in cuckoo
  add a custom copy function to the cuckoo hash
  fixes after the cuckoo update in filedescriptor.c
  Cuckoo hash update
  Added two very simple tests for configitem
  Typo fix
  Fix for section-parser
  added section part to parser
  parser improvements, compiles now
  added CONFIG_SYNTAX errors
  typo fix and redundant comment removal
  add configitem and configentry to the build system
  give the charsets for config keys some constants
  fix to make parser mockup compileable, little simplified
  WIP: started low-level parser
  more functional mockup of the configitem bootstrap
  ...

Conflicts:

	src/backend/config.c
	src/backend/config.h
	src/backend/config_lookup.c
	src/backend/config_lookup.h
	src/backend/configitem.c
	src/backend/configitem.h
	src/backend/filedescriptor.c
	src/lib/cuckoo.c
	src/lib/cuckoo.h
	tests/22config_highlevel.tests
	tests/backend/test-config.c
2008-09-06 13:18:29 +02:00
Christian Thaeter
477ecd3974 Remove the 'path' member from the config and bootstrap the config system
* the path parameter given to config_init becomes a registered default
   value for 'config.path' itself thus the config system finds its data
   path on itself.
 * the printf formatting string for representing values are also
   bootstrapped as default entries in the config system. This is just a
   prelimary example and will be refined later
2008-09-06 12:41:23 +02:00
Christian Thaeter
b94e615291 just psplay_remove leaked, do psplay_delete_node 2008-09-06 12:41:23 +02:00
Christian Thaeter
a95ae05ddb some cosmetics 2008-09-06 12:41:22 +02:00
Christian Thaeter
fa54fb9bc2 add a diagnostic config dump function 2008-09-06 12:41:22 +02:00
Christian Thaeter
21db988e18 remove the default return in case an illegal config entry was found
Fallback to a default in case of a already pending error is not needed.
This would only obtruse error handling. If the default entry would be
erroneous it would be silently ignored and make the thing worse.
2008-09-06 12:41:22 +02:00
Christian Thaeter
b6e3650f62 use psplay trees instead cuckoo hashes in config_lookup 2008-09-06 12:41:22 +02:00
Christian Thaeter
a1bd3ee1f5 use psplay trees for the filedescriptor registry 2008-09-06 12:41:03 +02:00
Christian Thaeter
c3e2941eb8 some machinery for registering and retrieving defaults
* let config_setdefault() take a complete configline instead key:value pair
2008-09-06 12:40:32 +02:00
Christian Thaeter
a0105eec42 Documentation and error handling for config_lookup 2008-09-06 12:40:32 +02:00
Christian Thaeter
1dca87271f ConfigLookup working (for now)
added the missing unimplemented function, fixed some prototypes,
some cosmetics. Barely tested, no documentation yet.
2008-09-06 12:40:20 +02:00
Christian Thaeter
a55c122cc3 Fixed configitem_move, first parsing tests pass now 2008-09-06 12:40:19 +02:00
Christian Thaeter
d9f2b6d6fa WIP: add config_lookup skeleton 2008-09-06 12:40:19 +02:00
Simeon Voelkel
a52b08bfc5 added section part to parser 2008-09-06 12:40:10 +02:00
Simeon Voelkel
36375ce0f6 parser improvements, compiles now 2008-09-06 12:38:57 +02:00
Simeon Voelkel
1a66b58fcb added CONFIG_SYNTAX errors 2008-09-06 12:38:57 +02:00
Christian Thaeter
a51f61683f add configitem and configentry to the build system 2008-09-06 12:38:48 +02:00
Christian Thaeter
1f8906a2d8 More mockup of the configitem bootstrap
* started low-level parser
 * give the charsets for config keys some constants
2008-09-06 12:38:03 +02:00
Michael Ploujnikov
8bdab41ea0 factor out -I$(top_srcdir)/src/ to a top-level AM_CPPFLAGS
also remove a related unnecesary comment in src/gui/Makefile.am
2008-08-30 12:05:21 -04:00
Simeon Voelkel
700a7e9645 Added directive-parser and tests for a content-check of a parsed configitem 2008-08-27 11:00:10 +02:00
Christian Thaeter
1dc836fc3d Fixed configitem_move, first parsing tests pass now 2008-08-13 10:50:27 +02:00
Christian Thaeter
238218f776 WIP: add config_lookup skeleton 2008-08-13 09:21:33 +02:00
Christian Thaeter
0fe3d6a059 filedescriptor fixup for new copy func in cuckoo 2008-08-13 09:21:33 +02:00
Christian Thaeter
e78908bc7d fixes after the cuckoo update in filedescriptor.c 2008-08-13 09:21:32 +02:00
Simeon Voelkel
b5dafbcd53 Fix for section-parser 2008-08-13 08:33:49 +02:00
Simeon Voelkel
19c2af0c69 added section part to parser 2008-08-12 12:39:48 +02:00
Simeon Voelkel
e86ef0ba75 parser improvements, compiles now 2008-08-12 10:57:46 +02:00
Simeon Voelkel
ca58edf39c added CONFIG_SYNTAX errors 2008-08-12 10:29:05 +02:00
Simeon Voelkel
0f5c5e218a typo fix and redundant comment removal 2008-08-12 10:03:38 +02:00
Christian Thaeter
8e5b734f03 add configitem and configentry to the build system 2008-08-12 08:13:15 +02:00
Christian Thaeter
20d38b0b5c give the charsets for config keys some constants 2008-08-12 08:12:08 +02:00
Christian Thaeter
9c7cedbf75 fix to make parser mockup compileable, little simplified 2008-08-12 07:13:45 +02:00
Simeon Voelkel
fd563a0284 WIP: started low-level parser 2008-08-11 22:08:17 +02:00
Christian Thaeter
c958aa29fb more functional mockup of the configitem bootstrap
includes some comments for simav about how to write parsers
2008-08-11 17:22:15 +02:00
Christian Thaeter
c7af270e42 config item bootstraping Mockup for review 2008-08-11 12:17:03 +02:00
Christian Thaeter
f0cf49d753 WIP configitem brainstorming 2008-08-11 09:20:49 +02:00
Christian Thaeter
7b3fcfdcb3 Configitem brainstorm 2008-08-10 19:38:31 +02:00
Christian Thaeter
3dff3f70fc remove const from the filename in struct file, some gcc version barfs on it 2008-08-10 17:23:52 +02:00
Christian Thaeter
cf3c601a77 Config type for 'words' and some tests 2008-08-10 12:28:02 +02:00
Christian Thaeter
cd8b523550 cosmetics, remove some traces in string config parsing, little doc 2008-08-10 12:28:02 +02:00
Christian Thaeter
830482c46d ooops, typo in the character list for config keys, missed 'wW' 2008-08-10 12:28:02 +02:00
Christian Thaeter
ff35734991 Fixup config to new rwlock SECTION macros 2008-08-10 12:28:02 +02:00
Christian Thaeter
c3c5a3b65c Fixup filedescriptors and filehandlecache for the new mutex handling 2008-08-10 12:28:02 +02:00
Christian Thaeter
8b901567ed getting strings from the config
a string can be either quoted (single or doublequoted), then the text
between this quotes is returned, quotes are escaped by doubling themself,
no chopping at either end is done,

or not quoted then the the tabs and spaces are chopped from the value
at either end.
2008-08-10 12:26:19 +02:00
Christian Thaeter
3be0d38d73 report syntax error in value instead type error 2008-08-10 12:26:19 +02:00
Christian Thaeter
87c7fea4ac allow only lowercase characters, digits, '_' and '.' in keys 2008-08-10 12:26:19 +02:00
Christian Thaeter
bb9f81c08d fixed code to do whats specified, but needs refactoring
even in case of an configuration error the returned value is primed
with the default. The error condition needs still be cleared!

Broken defaults would be unnoticed in case of a double error!
2008-08-10 12:26:19 +02:00
Christian Thaeter
962bceec72 high level getter for 'number' type
WIP: doesn't register the default yet, no configfiles yet

just returning env overrides or defaults
2008-08-10 12:26:19 +02:00
Christian Thaeter
418231219a cosmetics 2008-08-10 12:26:18 +02:00
Christian Thaeter
9a329e0340 basic config value retrieval, just env override, no configfiles yet 2008-08-10 12:26:18 +02:00
Christian Thaeter
116c0e8125 more nobug flags for config, add a rwlock for the config, init/destroy 2008-08-10 12:26:18 +02:00
Christian Thaeter
1ff0583e4c add 'config_typed.c' for the typed high level config interface 2008-08-10 12:26:18 +02:00
Christian Thaeter
b691a9d7bb Simple config init/destroy, beginning of a config-testsuite 2008-08-10 12:26:18 +02:00
Christian Thaeter
c8210708fa skeleton for the config struct 2008-08-10 12:26:18 +02:00
Christian Thaeter
9444fb0267 use 'int' as return values rather than lumiera_err 2008-08-10 12:26:18 +02:00
Christian Thaeter
85e789742f first skeleton for the config loader 2008-08-10 12:26:15 +02:00
Christian Thaeter
07f06d0d88 big mutex update, dropped old acquirer
Acquiring mutexes is now wraped in a easy to use MUTEX_SECTION macro.
This scheme will be extended for chained lock propagation soon.

Notes:
 * NoBug resourcemanagement is now part of the lower layer,
   RESOURCE_ENTER/RESOUCE_LEAVE are maintained automatically
 * one must still call RESOURCE_ANNOUNCE/RESOURCE_FORGET, because we want
   to maintain high level information about resources.
 * MUTEX_SECTIONS must not be left with any kind of jump
2008-08-10 12:19:09 +02:00
Christian Thaeter
12feb6e7b8 add 'lumiera_free' as replacement for 'free'
lumiera_free() is for now just a static inline wraper around free()
Later this makes it easier to hook in some resource managing functions
or a Garbage Collector in.

Replaced all current uses of free()
2008-08-10 12:19:08 +02:00
Christian Thaeter
f58be32a05 Fixes after rebase
* remove _GNU_SOURCE from tests
 * re-enable C source building in backend
2008-05-19 16:37:50 +02:00
Christian Thaeter
64e549dc81 headers for the memory mapping backend (WIP) 2008-05-19 16:27:30 +02:00
Christian Thaeter
9ad62d0edc Fix: one must not return from a mutex section 2008-05-19 16:27:30 +02:00
Christian Thaeter
241327bcd4 rename 'fhcache' global var to 'lumiera_fhcache' 2008-05-19 16:27:30 +02:00
Christian Thaeter
444b142d85 Correct File flag masking
The hash lookup needs to ignore O_EXCL|O_TRUNC|O_CREAT as well as file
reopening must not use this flags.
2008-05-19 16:27:29 +02:00
Christian Thaeter
c4816c39fd Proper flag and stat handling for files
Filedescriptors create files at construction, each later access becomes
a reopen on the now existing file.

file_handle_acquire() reopens the file to gain a handle when required
and checks that the file is really the one we expected (ino and dev num)
2008-05-19 16:27:29 +02:00
Christian Thaeter
00b9dff106 Doxygen config update
* set EXPORT_ALL=NO to leave out undcoumented entities.
* Fix a lot @file directives
2008-05-19 16:27:29 +02:00
Christian Thaeter
8311316a92 Doxydocing for the filehandling stuff 2008-05-19 16:27:28 +02:00
Christian Thaeter
dd63a0e190 filedescriptor cleanup and fixes
basically working now, flag masking is not complete yet.
2008-05-19 16:27:28 +02:00
Christian Thaeter
232afe77e9 Filehandling
* add 'backend' for backend global initialization/destruction
  and common functions.
* WIP: 'file' acts as interface to named files, provides posix
  filehandles with and acquire/release function pair.
* 'filehandle' manages posix filehandles internally, refcounted.
* WIP: 'filehandlecache' keeps unused filehandles in a MRU cache

* WIP: test for filehandle management
* improved filedescriptor test
2008-05-19 16:27:28 +02:00
Christian Thaeter
b11ff40fbe Filedescriptor updates
* make registry initialization singleton, no parameters.
 * remove registry init from all functions, has to be called explicitly.
 * some nobug improvements
2008-05-19 16:27:28 +02:00
Christian Thaeter
bb98bb434b add nobug resource tracking to filedescriptors 2008-05-19 16:27:28 +02:00
Christian Thaeter
5286838886 filedescriptor handling basics working, including some tests
It is now possible to acquire/release filedescriptors for existing files
and files to be created.

Filedescriptors are managed in a registry by refcounts, they get
automatically destructed when the last user releases them.
2008-05-19 16:27:28 +02:00
Christian Thaeter
791f42c104 WIP: Low level file management
We have 'File' which associates a name with a file and will be used to
offer an interface for the application.

Posix 'Filehandles' which are managed in a 'Filehandlecache' to utilize
a limited number of fd's at optimum.

Internally we use 'Filedescriptor's which manage files, mapping and all
kinds of metadata. Filedescriptors weak referenced by a registry and freed
when the last user vanishes.
2008-05-19 16:27:27 +02:00
Christian Thaeter
8ba3df3b31 missing slash 2008-05-19 01:54:40 +02:00
Christian Thaeter
3b6713b23c build common and (re-)enable backend build (C++ part)
- not (yet) merged backend C parts are commented out for now
2008-05-19 01:50:53 +02:00
a03e3c5e73 Merge from backend: wikis, admin-scrits, test.sh
(dont merge any srcfiles)
2008-04-12 02:07:16 +02:00
e737b9ef1b Lumiera renaming -- source code 2008-03-10 06:09:44 +01:00
0baf15ca94 Cinelerra-3 renamed to Lumiera -- copyright and documentation 2008-03-10 04:25:03 +01:00
6bdf0e2cdc put my name in the copyright claim of those files I have written in the last months.
(search & replace). Please feel free to add your name to any files to which you added any contributions.
ALL SOURCECODE IS LICENCED UNDER THE TERMS AND CONDITIONS OF THE GPL (2 and above)
2007-11-27 03:19:35 +01:00
3fdd16ff48 draft adding clips and simple editing operations
WIP: lots of tests, no implementation, doesn't compile...
2007-09-25 23:39:46 +02:00
38b47b7f93 proposal for the MediaAccessFacade (interface to bakend), incl. Mock test 2007-09-24 16:20:41 +02:00
eef591f873 WIP injecting a test-mock instead of a singleton 2007-09-23 16:50:05 +02:00
7585c5c358 WIP reorganize singleton factory 2007-09-23 13:31:33 +02:00
02b1926840 WIP: start implementing the new entities 2007-09-22 16:44:50 +02:00
Christian Thaeter
05721f504e add few DIR_INFO's in src 2007-07-14 21:28:47 +02:00