*%******************************************************************************************
*% ACnfgPS.GDL
*% This file implements the *BidiQuery, *BidiResponse and *Option elements that correspond to  
*% the InstalledMemory, DuplexUnit and HardDisk features in AutoCnfg.PPD file. The feature  
*% name in the GDL file should exaclty match the corresponding feature and option names in the PPD. 
*%******************************************************************************************


%*******************************************************************************************
*%                                                         Memory
*%
*%******************************************************************************************

*Feature: InstalledMemory
{
	*FeatureType: PRINTER_PROPERTY
        *BidiQuery: InstalledMemory
	{
		*QueryString: "\Printer.Configuration.Memory:Size"
	}

	*BidiResponse: InstalledMemory
	{
		*ResponseType: BIDI_INT
		*ResponseData: ENUM_OPTION(Memory)
	}
        *Option: 32Meg
	{
 		*BidiValue: INT(32768)
	}
	*Option: 40Meg
	{
		*BidiValue: INT(40960)
	}
	*Option: 48Meg
	{
		*BidiValue: INT(49152)
	}
	*Option: 64Meg
	{
		*BidiValue: INT(65536)
	}
	*Option: 84Meg
	{
		*BidiValue: INT(86016)
	}
	*Option: 96Meg
	{
		*BidiValue: INT(98304)
	}
	*Option: 128Meg
	{
		*BidiValue: INT(131072)
	}
	*Option: 160Meg
	{
		*BidiValue: INT(163840)
	}
	*Option: 256Meg
	{
		*BidiValue: INT(262144)
	}
	*Option: 384Meg
	{
		*BidiValue: INT(393216)
	}
	*Option: 512Meg
	{
		*BidiValue: INT(524288)
	}
	*Option: 640Meg
	{
		*BidiValue: INT(655360)
	}
	*Option: 768Meg
	{
		*BidiValue: INT(786432)
	}
	*Option: 1024Meg
        {
                *BidiValue: INT(1048576)
        }
	*Option: 1152Meg
        {
                *BidiValue: INT(1179648)
        }
	*Option: 1280Meg
        {
                *BidiValue: INT(1310720)
        }
	*Option: 1536Meg
	{
                *BidiValue: INT(1572864)
        }
}


*%******************************************************************************************
*%                                      Duplex Unit
*%******************************************************************************************

*Feature: Duplexer
{
        *FeatureType: PRINTER_PROPERTY
	*BidiQuery: DuplexUnit
	{
		*QueryString: "\Printer.Configuration.DuplexUnit:Installed"
	}

	*BidiResponse: DuplexUnit
	{
		*ResponseType: BIDI_BOOL
		*ResponseData: ENUM_OPTION(DuplexUnit)
	}

	*Option: False
	{
		*BidiValue: BOOL(FALSE)
	}

	*Option: True
	{
		*BidiValue: BOOL(TRUE)
	}
}

*%******************************************************************************************
*%                                      Hard Disk
*%******************************************************************************************

*Feature: HardDisk
{
    *FeatureType: PRINTER_PROPERTY
    *BidiQuery:HardDisk
    {
		*QueryString: "\Printer.Configuration.HardDisk:Installed"
    } 
    *BidiResponse: HardDisk
    {
		*ResponseType: BIDI_BOOL
		*ResponseData: ENUM_OPTION(PrinterHardDisk)
    }		
    *Option: False
    {
		*BidiValue: BOOL(FALSE)
	}
    *Option: True
    {
		*BidiValue: BOOL(TRUE)
    }
}


*%*******************************************************************************************
*%                     FlashMemory
*%
*%******************************************************************************************

*Feature: Flash
{
        *FeatureType: PRINTER_PROPERTY
        *BidiQuery: Flash
        {
                *QueryString: "\Printer.Configuration.OptionalCard:Installed"
        }

        *BidiResponse: Flash
        {
                *ResponseType: BIDI_BOOL
                *ResponseData: ENUM_OPTION(Flash)
        }
        *Option: False
        {
                *BidiValue: BOOL(FALSE)
        }
        *Option: True
        {
                *BidiValue: BOOL(TRUE)
        }
}

*%******************************************************************************************
*%      				Input Bins
*%******************************************************************************************
*%


*Feature: _3TM 
{
        *FeatureType: PRINTER_PROPERTY
        *BidiQuery: _3TM
        {
                *QueryString: "\Printer.Layout.InputBin.Tray3:Capacity"
        }

        *BidiResponse: _3TM
        {
                *ResponseType: BIDI_INT
                *ResponseData: ENUM_OPTION(Tray3)
        }
        *Option: False
        {
                *BidiValue: INT(0)
        }
        *Option: True
        {
                *BidiValue: INT(520)
        }

}

*Feature: TTM 
{
        *FeatureType: PRINTER_PROPERTY
        *BidiQuery: TTM
        {
                *QueryString: "\Printer.Layout.InputBin.Tray3:Capacity"
        }

        *BidiResponse: TTM
        {
                *ResponseType: BIDI_INT
                *ResponseData: ENUM_OPTION(Tray3)
        }
        *Option: False
        {
                *BidiValue: INT(0)
        }
        *Option: True
        {
                *BidiValue: INT(850)
        }

}

*Feature: Tray2 
{
        *FeatureType: PRINTER_PROPERTY
        *BidiQuery: Tray2
        {
                *QueryString: "\Printer.Layout.InputBin.Tray2:Capacity"
        }

        *BidiResponse: Tray2
        {
                *ResponseType: BIDI_INT
                *ResponseData: ENUM_OPTION(Tray2)
        }
        *Option: False
        {
                *BidiValue: INT(0)
        }
        *Option: 2True250
        {
                *BidiValue: INT(250)
        }
        *Option: 2True500
        {
                *BidiValue: INT(500)
        }
        *Option: 2True550
        {
                *BidiValue: INT(550)
        }
        *Option: 2True2000
        {
                *BidiValue: INT(2000)
        }
        *Option: 2TrueEnv
        {
                *BidiValue: INT(60)
        }

}
*Feature: Tray3
{
        *FeatureType: PRINTER_PROPERTY
        *BidiQuery: Tray3
        {
                *QueryString: "\Printer.Layout.InputBin.Tray3:Capacity"
        }

        *BidiResponse: Tray3
        {
                *ResponseType: BIDI_INT
                *ResponseData: ENUM_OPTION(Tray3)
        }
        *Option: False
        {
                *BidiValue: INT(0)
        }
        *Option: 3True250
        {
                *BidiValue: INT(250)
        }
        *Option: 3True500
        {
                *BidiValue: INT(500)
        }
        *Option: 3True550
        {
                *BidiValue: INT(550)
        }
        *Option: 3True2000
        {
                *BidiValue: INT(2000)
        }
        *Option: 3TrueEnv
        {
                *BidiValue: INT(60)
        }

}
*Feature: Tray4
{
        *FeatureType: PRINTER_PROPERTY
        *BidiQuery: Tray4
        {
                *QueryString: "\Printer.Layout.InputBin.Tray4:Capacity"
        }

        *BidiResponse: Tray4
        {
                *ResponseType: BIDI_INT
                *ResponseData: ENUM_OPTION(Tray4)
        }
        *Option: False
        {
                *BidiValue: INT(0)
        }
        *Option: 4True250
        {
                *BidiValue: INT(250)
        }
        *Option: 4True500
        {
                *BidiValue: INT(500)
        }
        *Option: 4True550
        {
                *BidiValue: INT(550)
        }
        *Option: 4True2000
        {
                *BidiValue: INT(2000)
        }
        *Option: 4TrueEnv
        {
                *BidiValue: INT(60)
        }

}
*Feature: Tray5
{
        *FeatureType: PRINTER_PROPERTY
        *BidiQuery: Tray5
        {
                *QueryString: "\Printer.Layout.InputBin.Tray5:Capacity"
        }

        *BidiResponse: Tray5
        {
                *ResponseType: BIDI_INT
                *ResponseData: ENUM_OPTION(Tray5)
        }
        *Option: False
        {
                *BidiValue: INT(0)
        }
        *Option: 5True250
        {
                *BidiValue: INT(250)
        }
        *Option: 5True500
        {
                *BidiValue: INT(500)
        }
        *Option: 5True550
        {
                *BidiValue: INT(550)
        }
        *Option: 5True2000
        {
                *BidiValue: INT(2000)
        }
        *Option: 5TrueEnv
        {
                *BidiValue: INT(60)
        }

}
*Feature: EnvFeeder
{
        *FeatureType: PRINTER_PROPERTY
        *BidiQuery: EnvFeed
        {
                *QueryString: "\Printer.Layout.InputBin.EnvFeed:Capacity"
        }
        *BidiResponse: EnvFeed
        {
                *ResponseType: BIDI_INT
                *ResponseData: ENUM_OPTION(EnvFeed)
        }        
        *Option: False
        {
                *BidiValue: INT(0)
        }

        *Option: True
        {
                *BidiValue: INT(85)
        }                
}

*Feature: MultiPurpose
{
        *FeatureType: PRINTER_PROPERTY
        *BidiQuery: MultiPurpose
        {
                *QueryString: "\Printer.Layout.InputBin.MultiPurposeBin:Installed"
        }

        *BidiResponse: MultiPurpose
        {
                *ResponseType: BIDI_BOOL
                *ResponseData: ENUM_OPTION(MultiPurpose)
        }
        

        *Option: False
        {
                *BidiValue: BOOL(FALSE)
        }

        *Option: True
        {
                *BidiValue: BOOL(TRUE)
        }        
}

*%******************************************************************************************
*%                                     Output Bins
*%******************************************************************************************

 *Feature: Finisher_1Bin
 {
         *FeatureType: PRINTER_PROPERTY
         *BidiQuery: Finisher_1Bin
         {
                 *QueryString: "\Printer.Finishing.OutputBin.Bin1:Capacity"
         }

         *BidiResponse: Finisher_1Bin
         {
                 *ResponseType: BIDI_INT
                 *ResponseData: ENUM_OPTION(Finisher_1Bin)
         }
         *Option: False
         {
                 *BidiValue: INT(0)
         }
         *Option: True
         {
                 *BidiValue: INT(733)
         }
 }



*Feature: OutputBins
{
     *FeatureType: PRINTER_PROPERTY
     *BidiQuery: OutputBins
     {
             *QueryString: "\Printer.Finishing.Staple:Installed"
     }

     *BidiResponse: OutputBins
     {
             *ResponseType: BIDI_BOOL
             *ResponseData: ENUM_OPTION(OutputBins)
     }

     *Option: False
     {
             *BidiValue: BOOL(FALSE)
     }
     *Option: 1BinF
     {
		 *% Finisher
             *BidiValue: BOOL(TRUE)
     }
}


*Feature: stacker
{
        *FeatureType: PRINTER_PROPERTY
        *BidiQuery: stacker
        {
                *QueryString: "\Printer.Finishing.Stacker:Installed"
        }

        *BidiResponse: stacker
        {
                *ResponseType: BIDI_BOOL
                *ResponseData: ENUM_OPTION(stacker)
        }
        *Option: False
        {
                *BidiValue: BOOL(FALSE)
        }
        *Option: True
        {
                *BidiValue: BOOL(TRUE)
        }
}

*Feature: 1_4BinMailBox
{
        *FeatureType: PRINTER_PROPERTY
        *BidiQuery: 1_4BinMailBox
        {
                *QueryString: "\Printer.Finishing.OutputBin.Bin4:Capacity"
        }
        *BidiResponse: 1_4BinMailBox
        {
                *ResponseType: BIDI_INT
                *ResponseData: ENUM_OPTION(1_4BinMailBox)
        }
        *Option: False
        {
                *BidiValue: INT(0)
        }
        *Option: True
        {
                *BidiValue: INT(100)
        }
}