Build ActiveX control using collections and worker threads

Closed Posted Feb 20, 2011 Paid on delivery
Closed Paid on delivery

Build an ActiveX control using Active Template Library that can be inserted in a Web page in Internet Explorer. The control should expose a collection of Disk objects defined by the control. Each Disk object has a 'name' string property that corresponds to the disk label, a long 'size', long 'free' properties. The control also raises an event if a new USB device is connected or removed the PC and the HTML page that hosts the page displays the updated collection when such event occurs.

Useful information to complete this task:

<[login to view URL](v=VS.100).aspx>

<[login to view URL](v=VS.100).aspx>

<[login to view URL](VS.85).aspx>

Required deliverables:

1. Complete source code of the 3 solution components (see detailed requirements below)

2. Setup program with its source to install the ActiveX control (COM object) as a DLL that registers as safe for initialization and scripting in IE. The control shall use SiteLock to enable it to run only in authorized Web sites

## Deliverables

**Solution components:**

**1. ** **COM object**

? Scriptable, insertable in a Web page

? No dependencies

? Exposes the following non creatable objects:

> 1. Disk, with properties BSTR name, int size, int free.

> 2. Disks, a collection of Disk object, can be enumerated in script using foreach Disk in Disks.

? Only one creatable object: [login to view URL]

? Storage fires two events:

1. DiskInsert(Disk)

2. DiskRemove(Disk)

? The source code for the ActiveX control (COM object) must include debug output that can be intercepted by a Windows debugger with notifications about the working thread activity as well as updates to the collection.

**2. ** **Test application 1**

A native Win32 application that:

> 1. creates the Storage object

> 2. enumerates the initial collection

> 3. on insertion or removal events displays the updated collection

The output from this application would be something like:

Storage component test.

Detected disks are:

C:DiskLabel 100GB (48GB free)

E:MyKey 8GB (7.8GB free)

Insert or remove a USB key, or press Ctrl+C to exit...

-Disk E:MyKey removed

Detected disks are:

C:DiskLabel 100GB (48GB free)

Insert or remove a USB key, or press Ctrl+C to exit...

+Disk E:MyKey inserted

Detected disks are:

C:DiskLabel 100GB (48GB free)

E:MyKey 8GB (7.8GB free)

Insert or remove a USB key, or press Ctrl+C to exit...

**3. ** **Test application 2**

A web page with javascript client side code only in the form of .js file includes that provides the user the following experience:

1. The first time the user visits the page:

? a message in the page is displayed telling that the ATLControl required by the page can't be found and invites the user to click on a link to install it

? That link downloads an installer from the same web Site that hosts the page

? After the install is successful, the user can try to reload the page

2. With the component installed:

? the page displays a list of disks with their sizes and free space

? When a USB storage key is connected or removed, the list is updated

** **

**Required interaction between the three components:**

It should be possible to:

? open two Internet Explorer windows displaying the test page (Test application 2)

? simultaneously, run the console application (Test application 1)

? see the events being raised in both windows and the lists of disks updated as disks are inserted or removed

? because both windows will be running the same test application, the resulting lists on both windows should equal

**To bid for this project, please provide:**

> **1. ** **Offer ($)

>

> ****2. ** **Estimated timeline (delivery date) to complete deliverables 1 and 2 above**

* * *This broadcast message was sent to all bidders on Friday Feb 25, 2011 3:44:23 PM:

Hello, everyone, Thank you for your questions. We have updated the project summary and provided a more detailed project description clearly explaining all requirements. Please review. To bid for this project, please remember to provide: 1. Your offer ($) 2. Estimated timeline (delivery date) to complete the required deliverables We are accepting bids through Sunday, March 6th, 2011. Questions? Please reach out. Thanks.

C Programming Engineering Microsoft MySQL PHP Project Management Software Architecture Software Testing Web Hosting Website Management Website Testing Windows Desktop

Project ID: #3116622

About the project

4 proposals Remote project Active Mar 24, 2011

4 freelancers are bidding on average $361 for this job

denisvvw

See private message.

$212.5 USD in 20 days
(135 Reviews)
7.4
DebasisB

See private message.

$382.5 USD in 20 days
(174 Reviews)
7.1
Schura

See private message.

$424.15 USD in 20 days
(119 Reviews)
6.2
indicsoftware

See private message.

$424.15 USD in 20 days
(0 Reviews)
0.0