class ui.SshPropertySet

class SshPropertySet {
    // enums

    enum Defaults;
    bitflag enum PropertyId;

    // fields

    static char DefaultProcessType[6] = "shell";
    static char DefaultPtyType[6] = "xterm";
    ui.StringProperty* m_userNameProp;
    ui.EnumProperty* m_authenticationMethodProp;
    ui.FileProperty* m_privateKeyFileProp;
    ui.BoolProperty* m_rememberLastPasswordProp;
    ui.EnumProperty* m_processTypeProp;
    ui.StringProperty* m_processParamProp;
    ui.StringProperty* m_ptyTypeProp;
    reactor m_uiReactor;

    // methods

    void createProperties(
        ui.PropertyGrid* propertyGrid,
        ui.GroupProperty* group = null,
        ui.Property* insertBefore = null,
        ui.SshPropertySet.PropertyId mask = PropertyId.All
    );

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