class ui.SslPropertySet

class SslPropertySet
{
    // enums

    enum Defaults;
    bitflag enum PropertyId;

    // fields

    static char const DefaultCipherSet[4] = "ALL";
    static char const DefaultEphemeralEcdhCurve[11] = "prime256v1";
    ui.ComboProperty* m_cipherSetProp;
    ui.BoolProperty* m_useCertificateProp;
    ui.FileProperty* m_certificateFileProp;
    ui.FileProperty* m_privateKeyFileProp;
    ui.BoolProperty* m_verifyCertificateProp;
    ui.FileProperty* m_verifyCaFileProp;
    ui.FileProperty* m_verifyCaDirProp;
    ui.IntProperty* m_verifyDepthProp;
    ui.BoolProperty* m_useEphemeralDhProp;
    ui.EnumProperty* m_ephemeralDhStdParamsProp;
    ui.BoolProperty* m_useEphemeralEcdhProp;
    ui.ComboProperty* m_ephemeralEcdhCurveProp;

    // methods

    void createProperties(
        ui.PropertyGrid* propertyGrid,
        ui.Property* parentProp = null,
        ui.Property* beforeProp = null,
        ui.SslPropertySet.PropertyId mask = PropertyId.AllClient
        );

    void load(doc.Storage* storage);
    void save(doc.Storage* storage);
    void restoreDefaults();
};