Download Shareware and Freeware Software for Windows, Linux, Macintosh, PDA

line Home  |  About Us  |  Link To Us  |  FAQ  |  Contact

Serving Software Downloads in 976 Categories, Downloaded 31.756.931 Times

Object::Meta::Plugin::Host 0.01

  Date Added: July 26, 2010  |  Visits: 630


Report Broken Link
Printer Friendly Version

Product Homepage
Download (72 downloads)

Object::Meta::Plugin::Host are hosts plugins that work like Object::Meta::Plugin. Can serve as a plugin if subclassed, or contains a plugin which can help it to plug. SYNOPSIS # if you want working examples, read basic.t in the distribution # i dont know what kind of a synopsis would be useful for this. my $host = new Object::Meta::Plugin::Host; eval { $host->method() }; # should die $host->plug($plugin); # $plugin defines method $host->plug($another); # $another defines method and another # $another supplied the following, since it was plugged in later $host->method(); $host->another($argument); $host->unplug($another); $host->method(); # now $plugins method is used Object::Meta::Plugin::Host is an implementation of a plugin host, as described in Object::Meta::Plugin. The host is not just simply a merged hash. It is designed to allow various plugins to provide similar capabilities - methods with conflicting namespace. Conflicting namespaces can coexist, and take precedence over one another. A possible scenario is to have various plugins for an image processor, which all define the method "process". They are all installed, ordered as the effect should be taken out, and finally atop them all a plugin which wraps them into a pipeline is set. When a plugins method is entered it receives, instead of the host object, a context object, particular to itself. It allows it access to its host, its sibling plugins, and so forth explicitly, while implicitly wrapping around the host, and emulating it with reordered priority - the current plugin is first in the list. Such a model enables a dumb plugin to work quite happily with others, even those which may take its role. The only rule it needs to keep is that it accesses its data structures using $self-self>, and not $self, because $self is the context object. A more complex plugin, aware that it may not be peerless, could explicitly ask for the default (host defined) methods it calls, instead of its own. It can request to call a method on the plugin which succeeds it or precedes it in a certain methods stack. Additionally, by gaining access to the host object a plugin could implement a pipeline of calls quite easily, as described above. All it must do is call $self-host->stack($method)> and iterate that omitting itself. The interface aims to be simple enough to be flexible, trying for the minimum it needs to define to be useful, and creating workarounds for the limitations this minimum imposes. The implementation is by no means optimized. I doubt its fast, but I dont really care. Its supposed to create a nice framework for a large application, which needs to be modular..

Requirements: No special requirements
Platforms: Linux
Keyword: Host Libraries Method Object Objectmetapluginhost Plugin Plugins Programming Work
Users rating: 0/10

License: Freeware Size: 17.41 KB
Libraries  -  Cross Platform Toolkit Library (xtklib) 0.2.0 Alpha
Cross Platform Toolkit Library (xtklib) is a C++ based framework for highly object-oriented cross-platform programming. In particular, the library provides a full abstraction layer between its API and the main services offered by the underlying...
256 KB  
Networking  -  WP Query Results Summarizer 08.11.06
An Object Oriented Plugin that summarizes the results returned by a query like a Google search summary text.Feature list: * Easy to use: * Easy to customize by formats: You can format the summary text by the formats and parameters. * Easy to...
10 KB  
Code Management Tools  -  Virgil B-03
Virgil projetc is an new, object-oriented, light-weight programming language that is designed for building software for resource-constrained embedded systems at the lowest level. Microcontroller programmers can now develop complete software...
583.68 KB  
Programming  -  x10 0.3.2
X10 project is a new object-oriented, type-safe programming language for programming the next generation of high performance systems. X10 is designed and developed by IBM. While developed in close contact with the designers of X10 at IBM there...
8.1 MB  
Programming  -  boo rc.0.1
boo is a new object oriented statically typed programming language for the CLI (common language infrastructure) with a python inspired syntax and a special focus on language and compiler extensibility.
1.34 MB  
Programming  -  cbear
The 'cbear' framework is a set of libraries and common utilities for different programming languages and platforms.
675.81 KB  
Programming  -  Intrepid 2D Game Library 1.0
Intrepid is an object-oriented 2D game programming library written in C++ utilizing OpenGL and SDL that takes care of the low-level programming involved in making 2D games.You can create nearly every kind of 2D game. Comes with...
139.58 KB  
Programming  -  Twilight 0.7.6
Twilight is an imperative, object oriented, general purpose programming language. The guiding principles of Twilight are simplicity, practicality, and orthonogolity.
7.11 MB  
Modules  -  Automagic Twitter Profile URI 1.2.2
As of now, the plugin currently cannot work anymore. Please see Twitter Issue 353 and second my request to bring back the required functionality by either d-deDUstarringd-deDt the topic or contributing to it. Thank you very much for your...
10 KB  
Modules  -  Featuring CountComments 0.20
The commentators need to be registered and logged in, thus the plugin does not work on setups where anonymous commenting is allowed.InstallationUnpack and upload it to the /wp-content/plugins/ directory.Activate the plugin through the 'Plugins'...
Programming  -  FLEX-db Digital Asset Manager 3.0.9
FLEX-db - an enterprise Digital Asset Manager (DAM). It ingests and links metadata with files, creates thumbnails, and processes files using business rules. FLEX-db has a JSP client, Java app server for file input and output and an EJB metadata...
21.57 MB  
Programming  -  Libicom 0.9.0
The libicom library is a character based dynamicly linked library for Linux. It is used to remotely control the Icom IC-R8500 wide band receiver via an RS232 link. All call and return parameters to the control functions are character string based....
20.48 KB  
Programming  -  dotdesktop 0.3
Dotdesktop library provides ability to parse desktop entry file and access the information in a convenient way. Desktop entry file format is defined by, it is used to describe information about an application such as the name and...
327.68 KB  
Programming  -  Cedalion for Linux 0.2.6
Cedalion is a programming language that allows its users to add new abstractions and define (and use) internal DSLs. Its innovation is in the fact that it uses projectional editing to allow the new abstractions to have no syntactic limitations.
471.04 KB  
Programming  -  libyasl 0.2
Libyasl is a C++ class library to easily realize TCP/UDP/Multicast clientsand servers in IPv4 and IPv6 environments under GNU/Linux systems.
143.36 KB  
Libraries  -  wolfSSL 3.15.0
The wolfSSL embedded SSL/TLS library is a lightweight SSL library written in ANSI standard C and targeted for embedded and RTOS environments - primarily because of its small size, speed, and feature set. It is commonly used in standard operating...
3.88 MB  
Libraries  -  EuGTK 4.8.9
Makes it easy to develop good- looking, fast, cross-platform programs that run on Linux, OS X, and Windows. Euphoria is a very fast interpreted/compiled language with straight-forward syntax. EuGTK allows programming in a clean, object-oriented...
10.68 MB  
Libraries  -  Linux User Group Library Manager 1.0
The LUG Library Manager is a project to help Linux User Groups start their own library. A LUG library is helpful to the community at large because it increases access to information, and gives everyone the opportunity to become more knowledgeable.
5.35 KB  
Libraries  -  Module::MakefilePL::Parse 0.12
Module::MakefilePL::Parse is a Perl module to parse required modules from Makefile.PL. SYNOPSIS use Module::MakefilePL::Parse; open $fh, Makefile.PL; $parser = Module::MakefilePL::Parse->new( join("", ) ); $info = $parser->required;...
8.19 KB  
Libraries  -  sqlpp 0.06
sqlpp Perl package is a SQL preprocessor. sqlpp is a conventional cpp-alike preprocessor taught to understand SQL ( PgSQL, in particular) syntax specificities. In addition to the standard #define/#ifdef/#else/#endif cohort, provides also...
10.24 KB