// Copyright (c) 2000-2004 Microsoft Corporation
// WMI Class Definitions for a test POD of SCE
// Version 1.0

#pragma autorecover
#pragma classflags("forceupdate")

#pragma namespace("\\\\.\\root")

instance of __Namespace
{
        Name = "Security";
};

#pragma namespace("\\\\.\\root\\Security")

instance of __Namespace
{
        Name = "SCE";
};

#pragma namespace("\\\\.\\root\\Security\\SCE")

//**************************************************************************
//* Declare an instance of the __Win32Provider so as to "register" the
//* PodTest provider.
//**************************************************************************


instance of __Win32Provider as $P
{
    Name                    = "Sample Pod Provider of SCE" ;
    ClsId                   = "{c5f6cc21-6195-4555-b9d8-3ef327763cae}" ;
    ImpersonationLevel      = 1;
    PerUserInitialization   = TRUE;

};

instance of __InstanceProviderRegistration
{
    Provider            = $P;
    SupportsPut         = TRUE;
    SupportsGet         = TRUE;
    SupportsDelete      = TRUE;
    SupportsEnumeration = TRUE;
};

instance of __MethodProviderRegistration
{
    Provider = $P;
};

//******************** Sample_DataClass *****************************************
//* a test class of this Pod

[dynamic, provider("Sample Pod Provider of SCE")]
class Sample_DataClass : Sce_SecuritySetting
{
        [key]           string  SceStorePath;
        [key]           string  KeyName;
                        string  Value;
};

//******************** Sample_BaseClass **********************************************
//All SCE Pods must implement the configure method.

[dynamic, Singleton, provider("Sample Pod Provider of SCE")]
class Sample_BaseClass : Sce_Pod
{
        string   PodID;
        [static,implemented] uint32 Configure ([in] string SceStorePath, [in] string LogFilePath);
};