FilterLoader::getAvailableFrameFilters Method

Returns a std::vector of FilterInfo structures containing information about the available frame filters.
Syntax:
static std::vector<FilterInfo> getAvailableFrameFilters( tFilterClass filterClass = eFC_ALL );
Parameter Description
filterClass

You can restrict the number of filters that will appear in the vector by specifying one or more filter classes. Valid filter classes are members of the tFilterClass enumeration:

Value Description
eFC_GENERIC List filters that are flagged as generic. Generic filters should work in any environment without special knowledge about the parameters.
eFC_INTERNAL List filters that are flagged as internal. Internal filters are not guaranteed to work in generic applications that do not know how to setup the filter's parameters in the required way (e.g. specifying a valid filename for a filter that saves an image buffer).
eFC_ALL List all available frame filters.

Return value:

A std::vector of FilterInfo structures containing information about the available frame filters.

Remarks:

Frame filters are loaded from: i) the directory of the application's executable, ii) the directory of the loaded TIS_UDSHL1X.DLL and iii) the directory specified to setLoadPath.

Example:

The following code prints information about the available frame filters to the console:

void printAvailableFrameFilters()
{
    std::vector<FilterInfo> filterInfos = FilterLoader::getAvailableFrameFilters();
    std::cout << "Available frame filters:" << std::endl;
    for( unsigned int i = 0; i < filterInfos.size(); ++i )
    {
        std::cout << i << ":" << std::endl;
        std::cout << "Name: " << filterInfos[i].getFilterName() << std::endl;
        std::cout << "Module: " << filterInfos[i].getModuleName() << std::endl;
        std::cout << "Path: " << filterInfos[i].getModulePath() << std::endl;
        std::cout << "Filter class: ";
        switch(  filterInfos[i].getFilterClass() )
        {
        case eFC_GENERIC:
            std::cout << "generic" << std::endl;
            break;
        case eFC_INTERNAL:
            std::cout << "internal" << std::endl;
            break;
        default:
            std::cout << "unknown" << std::endl;
            break;
        }
    }
    std::cout << std::endl;
}

See also: FilterLoader, FilterLoader::setLoadPath, FilterLoader::createFilter

<< FilterLoader