Click or drag to resize

Visual Studio Projects for an IVI-COM Driver

Nimbus supplies two custom project types to the Visual Studio project system that enable IVI-COM driver development, documentation, and installation.

  • IVI-COM Driver Help Project

    This project type is used to build the driver help file(s) for an associated IVI-COM driver. Each help project is associated with a single IVI-COM driver project, and includes the help template files used to control the look and feel of the driver documentation being produced. A driver help project may be created by the IVI-COM Driver Wizard based on your selections, or added to the driver solution later.

  • IVI-COM Driver Setup Project

    This project type is used to build the driver installer for an associated IVI-COM driver. Each setup project is associated with a single IVI-COM driver project, and includes the WiX source files used to produce the driver installer (MSI). A driver setup project may be created by the IVI-COM Driver Wizard based on your selections, or added to the driver solution later.

In addition to the above custom project types, Nimbus also supports adding six standard Visual Studio project types to a driver solution.

  • Unit Test Project

    This is a standard Visual Studio project type that enables unit testing of IVI-COM drivers. Although Nimbus leverages the standard Visual Studio unit testing framework, the Nimbus driver automatically adds and removes unit test methods from this project as you interact with the Nimbus driver designer.

  • C++ Console Application

    This is a standard Visual Studio project type for building a C++ console application that exercises the IVI-COM driver. After adding this type of project to a driver solution, Nimbus performs no further modifications. This provides a convenient way to create a starter application associated with your driver that can be used for additional testing or as sample code.

  • C# Console Application

    This is a standard Visual Studio project type for building a C# console application that exercises the IVI-COM driver. After adding this type of project to a driver solution, Nimbus performs no further modifications. This provides a convenient way to create a starter application associated with your driver that can be used for additional testing or as sample code.

  • Visual Basic Console Application

    This is a standard Visual Studio project type for building a Visual Basic console application that exercises the IVI-COM driver. After adding this type of project to a driver solution, Nimbus performs no further modifications. This provides a convenient way to create a starter application associated with your driver that can be used for additional testing or as sample code.

  • IVI-C Wrapper Unit Test Project

    This is a standard Visual Studio project type that enables unit testing of the IVI-C wrapper. Although Nimbus leverages the standard Visual Studio unit testing framework, the Nimbus driver automatically adds and removes unit test methods from this project as you interact with the Nimbus driver designer.

  • IVI-C Wrapper C++ Console Application

    This is a standard Visual Studio project type for building a C++ console application that exercises the IVI-C wrapper. After adding this type of project to a driver solution, Nimbus performs no further modifications. This provides a convenient way to create a starter application associated with your IVI-C wrapper that can be used for additional testing or as sample code.

Nimbus-Managed Files

There are a number of files in a Nimbus driver project that are automatically updated as part of the Nimbus roundtripping logic. For instance, when new methods or properties are added to a driver, the IDL definition for the driver interfaces must be updated by Nimbus. These IDL definitions are managed in a file named "<projectName>.nimbus.idl". Nimbus automatically updates this file, so it is important that users never manually make changes to such files. These are referred to as Nimbus-managed files, and they are easily distinguished from user-editable files because of how they are named. Nimbus-managed files typically end in an extension that includes "nimbus". For example, many Nimbus-managed files end in ".nimbus.h" or ".nimbus.cpp".

Important note Important

Any manual changes made to any Nimbus-managed file will be automatically overwritten by Nimbus whenever the driver project is edited. It is important to never directly edit a Nimbus-managed file.

There are only a few driver project files that a driver developer generally needs to edit -- the header file and .cpp file for the main driver class and the header and .cpp files for any repeated capability classes. These files contain the method and property definitions and implementation code for the entire driver API. The main driver header file is named "Co<projectName>.h" while the main implementation file is named "Co<projectName>.cpp". Similarly, a repeated capability header file is named "Co<projectName><repCapName>.h" and its implementation file is named "Co<projectName><repCapName>.cpp". Driver developers will work almost entirely within these files, greatly simplifying the task of managing driver project code.

Managing Multiple Drivers in a Solution

In some situations, it may be desirable to manage multiple IVI drivers in a single solution. Since a Nimbus IVI driver project is simply another type of Visual Studio project, this can be supported using standard Visual Studio techniques.

To add a Nimbus driver project to an existing solution

  1. From Solution Explorer, right-click on the Solution node.

  2. Choose Add and then either New Project... or Existing Project....

  3. For a new Nimbus IVI driver project, choose Nimbus Projects from the New Project Wizard and proceed as usual with the New IVI-COM Driver Wizard. For an existing Nimbus IVI driver project, browse to the .vcproj file for the desired driver.

  4. The added Nimbus IVI driver project will be loaded into Visual Studio with all of its associated projects -- setup, installer, unit test, etc. A separate Nimbus node with its subnodes will appear in Solution Explorer.

Download a complete CHM version of this documentation here.