// tsklib.idl : IDL source for the HSM engine task library
//

// This file will be processed by the MIDL tool to
// produce the type library (task.tlb) and marshalling code.

import "oaidl.idl";
import "jobdef.idl";
import "tskint.idl";
import "jobint.idl";

[
    uuid(526342C1-4F8D-11D0-9E23-00A0C916F120),
    version(1.0),
    helpstring("HSM Task Manager 1.0 Library")
]
library TASKLib
{
    importlib("stdole2.tlb");

    [
        uuid(7DDE1826-4F86-11D0-9E22-00A0C916F120),
        helpstring("HsmTskMgr Class")
    ]
    coclass CHsmTskMgr
    {
        [default] interface IHsmFsaTskMgr;
    };

    [
        uuid(247DF540-C558-11d0-B16F-00A0C916F120),
        helpstring("HsmWorkQueue Class")
    ]
    coclass CHsmWorkQueue
    {
        [default] interface IHsmWorkQueue;
        interface IHsmSessionSinkEveryEvent;
        interface IHsmSessionSinkEveryState;
    };

    [
        uuid(23E45B60-C598-11d0-B16F-00A0C916F120),
        helpstring("HsmWorkItem Class")
    ]
    coclass CHsmWorkItem
    {
        [default] interface IHsmWorkItem;
    };

    [
        uuid(9b832d5c-c5e0-4ac8-a573-feb8bb6597ac),
        helpstring("HsmRecallQueue Class")
    ]
    coclass CHsmRecallQueue
    {
        [default] interface IHsmRecallQueue;
        interface IHsmSessionSinkEveryEvent;
        interface IHsmSessionSinkEveryState;
    };

    [
        uuid(a915d0f3-5fbe-400f-bf44-157c052884a7),
        helpstring("HsmRecallItem Class")
    ]
    coclass CHsmRecallItem
    {
        [default] interface IHsmRecallItem;
    };
};

