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)
加载预览
授予地理位置权限。
您的登录会话已过期而且您已经登出,请再次登录。