Find Jobs
Hire Freelancers

C++ Plugin Architecture & C# Plugin Manager

$30-100 USD

クローズ
投稿日: 約18年前

$30-100 USD

完了時にお支払い
I need a C# plug-in manager that loads and manages C++ Dlls, and makes them available to an application framework. Here are the requirements: 1). Design patterns should be used whenever possible, to make for a robust OO Plug-in architecture 2). Plug-in architecture supporting DLLs 3). Plug-in architecture must supports plugins for diferent modules (i.e. different interfaces) 4). Plug-in modules (i.e. the DLLs) must be written in native (i.e. "unmanaged") C++ 5). The interfaces (i.e. object model) exposed by the Dlls must have methods capable of accepting pointers and function callbacks, as well as standard types (*int, float, char etc) 6). Exceptions occuring in the C++ code should be handled gracefully at the C# end 7). Plug-in manager will check in its Plug-ins folder and will attempt to load any DLLs it finds there. 8). Plug-in Manager will log attempts to load Plug-in dlls and will provide feedback (that may be displayed on a GUI hosted by the application framework for example), to explain its progress during loading the Dlls 9). After loading the plug-ins, the objects exposed by the modules become available for use by the application framework incorporating the plug-in architecture 10). The application framework incorporating the plug-in architecture may interogate the Plug-in manager to find which plug-ins have been succesfully loaded and are avaialable. The information returned from the plug-in manager must contain the following fields at the minimum: name, description, company, version, build number, status The coder must be familiar with the various rules for loading assemblies, and the benefits and drawbacks of each type of assembly loading. The coder must also be experienced in managed C++/unmanaged C++ interoperatability issues. ## Deliverables You will be required to provide the following upon completion of the project: 1). Brief architectural design document 2). Document that shows how to create a new module in unmanaged C++ (i.e. expose a new object model interface) 3). Sample plugin modules for testing (at least one plug-in module must export a heirarchical object model, that accepts pointers and function pointers in at least one of its exposed methods) 4). A test application that uses the plug-in framework, that has plug-in modules made available through the plugin manager, interrogates the plugins loaded (from plugin folder) and uses the object models exposed by the test plug-in modules. 5). CPP unit tests for the framework (possibly using CppUnit) Additionally, you must provide: +++++++++++++++++++++++ 1) Complete and fully-functional working program(s) in executable form as well as complete source code of all work done. 2) Deliverables must be in ready-to-run condition, as follows (depending on the nature of the deliverables): a) For web sites or other server-side deliverables intended to only ever exist in one place in the Buyer's environment--Deliverables must be installed by the Seller in ready-to-run condition in the Buyer's environment. b) For all others including desktop software or software the buyer intends to distribute: A software installation package that will install the software in ready-to-run condition on the platform(s) specified in this bid request. 3) All deliverables will be considered "work made for hire" under U.S. Copyright law. Buyer will receive exclusive and complete copyrights to all work purchased. (No GPL, GNU, 3rd party components, etc. unless all copyright ramifications are explained AND AGREED TO by the buyer on the site per the coder's Seller Legal Agreement). ## Platform Windows 98 and above
プロジェクト ID: 3324784

プロジェクトについて

リモートプロジェクト
アクティブ 18年前

お金を稼ぎたいですか?

Freelancerで入札する利点

予算と期間を設定してください
仕事で報酬を得る
提案をご説明ください
登録して仕事に入札するのは無料です

クライアントについて

UNITED KINGDOMのフラグ
United Kingdom
4.8
74
メンバー登録日:2月 15, 2003

クライアント確認

ありがとうございます!無料クレジットを受け取るリンクをメールしました。
メールを送信中に問題が発生しました。もう一度お試しください。
登録ユーザー 投稿された仕事の合計
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
プレビューを読み込み中
位置情報へのアクセスが許可されました。
あなたのログインセッションの有効期限がきれ、ログアウトされました。もう一度ログインしてください。