Função SccSetOption
Essa função define opções que controlam o comportamento do plug-in de controle do código-fonte.
Sintaxe
SCCRTN SccSetOption(
LPVOID pvContext,
LONG nOption,
LONG dwVal
);
Parâmetros
pvContext
[em] A estrutura de contexto do plug-in de controle do código-fonte.
Opção
[em] A opção que está sendo definida.
dwVal
[em] Configurações para a opção.
Valor de retorno
Espera-se que a implementação do plug-in de controle do código-fonte dessa função retorne um dos seguintes valores:
Valor | Descrição |
---|---|
SCC_OK | A opção foi definida com sucesso. |
SCC_I_SHARESUBPROJOK | Retornado if nOption was SCC_OPT_SHARESUBPROJ e o plug-in de controle do código-fonte permite que o IDE defina a pasta de destino. |
SCC_E_OPNOTSUPPORTED | A opção não foi definida e não deve ser invocada. |
Comentários
O IDE chama essa função para controlar o comportamento do plug-in de controle do código-fonte. O primeiro parâmetro, nOption
, indica o valor que está sendo definido, enquanto o segundo, dwVal
, indica o que fazer com esse valor. O plug-in armazena essas informações associadas a um pvContext``,
portanto, o IDE deve chamar essa função depois de chamar o SccInitialize (mas não necessariamente após cada chamada para o SccOpenProject).
Resumo das opções e seus valores:
nOption |
dwValue |
Descrição |
---|---|---|
SCC_OPT_EVENTQUEUE |
SCC_OPT_EQ_DISABLE SCC_OPT_EQ_ENABLE |
Habilita/desabilita o enfileiramento de eventos em segundo plano. |
SCC_OPT_USERDATA |
Valor arbitrário | Especifica um valor de usuário a ser passado para a função de retorno de chamada OPTNAMECHANGEPFN . |
SCC_OPT_HASCANCELMODE |
SCC_OPT_HCM_NO SCC_OPT_HCM_YES |
Indica se o IDE atualmente suporta o cancelamento de uma operação. |
SCC_OPT_NAMECHANGEPFN |
Ponteiro para a função de retorno de chamada OPTNAMECHANGEPFN | Define um ponteiro para uma função de retorno de chamada de alteração de nome. |
SCC_OPT_SCCCHECKOUTONLY |
SCC_OPT_SCO_NO SCC_OPT_SCO_YES |
Indica se o IDE permite o check-out de seus arquivos manualmente (por meio da interface do usuário de controle do código-fonte) ou se eles devem ser verificados somente por meio do plug-in de controle do código-fonte. |
SCC_OPT_SHARESUBPROJ |
N/D | Se o plug-in de controle do código-fonte permitir que o IDE especifique a pasta do projeto local, o plug-in retornará SCC_I_SHARESUBPROJOK . |
SCC_OPT_EVENTQUEUE
Se nOption
for SCC_OPT_EVENTQUEUE
, o IDE está desabilitando (ou reativando) o processamento em segundo plano. Por exemplo, durante uma compilação, o IDE pode instruir o plug-in de controle do código-fonte a interromper o processamento ocioso de qualquer tipo. Após a compilação, ele reabilitaria o processamento em segundo plano para manter a fila de eventos do plug-in atualizada. Correspondendo ao SCC_OPT_EVENTQUEUE
valor de nOption
, existem dois valores possíveis para dwVal
, ou seja, SCC_OPT_EQ_ENABLE
e SCC_OPT_EQ_DISABLE
.
SCC_OPT_HASCANCELMODE
Se o valor for nOption
SCC_OPT_HASCANCELMODE
, o IDE permitirá que os usuários cancelem operações longas. A configuração dwVal
como SCC_OPT_HCM_NO
(o padrão) indica que o IDE não tem modo de cancelamento. O plug-in de controle do código-fonte deve oferecer seu próprio botão Cancelar se quiser que o usuário possa cancelar. SCC_OPT_HCM_YES
indica que o IDE fornece a capacidade de cancelar uma operação, de modo que o plug-in SCC não precise exibir seu próprio botão Cancelar. Se o IDE for definido dwVal
como , ele estará preparado para responder e DOCANCEL
SCC_MSG_STATUS
enviar mensagens para a função de retorno de lpTextOutProc
chamada (consulte LPTEXTOUTPROC).SCC_OPT_HCM_YES
Se o IDE não definir essa variável, o plug-in não deverá enviar essas duas mensagens.
SCC_OPT_NAMECHANGEPFN
Se nOption estiver definido como SCC_OPT_NAMECHANGEPFN
, e o plug-in de controle do código-fonte e o IDE permitirem, o plug-in poderá renomear ou mover um arquivo durante uma operação de controle do código-fonte. O dwVal
será definido como um ponteiro de função do tipo OPTNAMECHANGEPFN. Durante uma operação de controle do código-fonte, o plug-in pode chamar essa função, passando três parâmetros. Estes são o nome antigo (com caminho totalmente qualificado) de um arquivo, o novo nome (com caminho totalmente qualificado) desse arquivo e um ponteiro para informações que têm relevância para o IDE. O IDE envia esse último ponteiro chamando SccSetOption
with nOption
set to SCC_OPT_USERDATA
, com dwVal
apontando para os dados. O suporte para esta função é opcional. Um plug-in VSSCI que usa essa capacidade deve inicializar seu ponteiro de função e variáveis de dados do usuário para NULL
, e não deve chamar uma função de renomeação, a menos que tenha recebido uma. Ele também deve estar preparado para manter o valor que lhe foi dado ou alterá-lo em resposta a uma nova chamada para SccSetOption
. Isso não acontecerá no meio de uma operação de comando de controle do código-fonte, mas pode acontecer entre comandos.
SCC_OPT_SCCCHECKOUTONLY
Se nOption estiver definido como SCC_OPT_SCCCHECKOUTONLY
, o IDE está indicando que os arquivos no projeto aberto no momento nunca devem ser verificados manualmente por meio da interface do usuário do sistema de controle do código-fonte. Em vez disso, os arquivos devem ser verificados somente por meio do plug-in de controle do código-fonte no controle IDE. Se dwValue
estiver definido como SCC_OPT_SCO_NO
, significa que os arquivos devem ser tratados normalmente pelo plug-in e podem ser verificados por meio da interface do usuário de controle do código-fonte. Se dwValue
estiver definido como SCC_OPT_SCO_YES
, somente o plug-in terá permissão para fazer check-out de arquivos e a interface do usuário do sistema de controle do código-fonte não deverá ser chamada. Isso é para situações em que o IDE pode ter "pseudo-arquivos" que fazem sentido fazer check-out somente por meio do IDE.
SCC_OPT_SHARESUBPROJ
Se nOption
estiver definido como SCC_OPT_SHARESUBPROJ
, o IDE está testando se o plug-in de controle do código-fonte pode usar uma pasta local especificada ao adicionar arquivos do controle do código-fonte. O valor do dwVal
parâmetro não importa neste caso. Se o plug-in permitir que o IDE especifique a pasta de destino local onde os arquivos serão adicionados do controle do código-fonte quando o SccAddFromScc for chamado, o plug-in deverá retornar SCC_I_SHARESUBPROJOK
quando a SccSetOption
função for chamada. O IDE usa o lplpFileNames
SccAddFromScc
parâmetro da função para passar a pasta de destino. O plug-in usa essa pasta de destino para colocar os arquivos adicionados do controle do código-fonte. Se o plug-in não retornar SCC_I_SHARESUBPROJOK
quando a SCC_OPT_SHARESUBPROJ
opção for definida, o IDE assumirá que o plug-in é capaz de adicionar arquivos somente na pasta local atual.