Fonction SccSetOption
Cette fonction définit les options qui contrôlent le comportement du plug-in de contrôle de code source.
Syntaxe
SCCRTN SccSetOption(
LPVOID pvContext,
LONG nOption,
LONG dwVal
);
Paramètres
pvContext
[in] Structure de contexte du plug-in de contrôle de code source.
nOption
[in] Option en cours de définition.
dwVal
[in] Paramètres de l’option.
Valeur de retour
L’implémentation du plug-in de contrôle de code source de cette fonction est censée retourner l’une des valeurs suivantes :
Valeur | Description |
---|---|
SCC_OK | L’option a été correctement définie. |
SCC_I_SHARESUBPROJOK | Retourné s’il nOption était SCC_OPT_SHARESUBPROJ et que le plug-in de contrôle de code source permet à l’IDE de définir le dossier de destination. |
SCC_E_OPNOTSUPPORTED | L’option n’a pas été définie et ne doit pas être prise en compte. |
Notes
L’IDE appelle cette fonction pour contrôler le comportement du plug-in de contrôle de code source. Le premier paramètre, indique nOption
la valeur définie, tandis que la seconde, dwVal
indique ce qu’il faut faire avec cette valeur. Le plug-in stocke ces informations associées à un pvContext``,
pour que l’IDE puisse appeler cette fonction après avoir appelé SccInitialize (mais pas nécessairement après chaque appel à SccOpenProject).
Résumé des options et de leurs valeurs :
nOption |
dwValue |
Description |
---|---|---|
SCC_OPT_EVENTQUEUE |
SCC_OPT_EQ_DISABLE SCC_OPT_EQ_ENABLE |
Active/désactive la mise en file d’attente d’événements en arrière-plan. |
SCC_OPT_USERDATA |
Valeur arbitraire | Spécifie une valeur utilisateur à passer à la fonction de rappel OPTNAMECHANGEPFN . |
SCC_OPT_HASCANCELMODE |
SCC_OPT_HCM_NO SCC_OPT_HCM_YES |
Indique si l’IDE prend actuellement en charge l’annulation d’une opération. |
SCC_OPT_NAMECHANGEPFN |
Pointeur vers la fonction de rappel OPTNAMECHANGEPFN | Définit un pointeur vers une fonction de rappel de changement de nom. |
SCC_OPT_SCCCHECKOUTONLY |
SCC_OPT_SCO_NO SCC_OPT_SCO_YES |
Indique si l’IDE autorise l’extraction manuelle de ses fichiers (via l’interface utilisateur du contrôle de code source) ou si elles doivent être extraites uniquement via le plug-in de contrôle de code source. |
SCC_OPT_SHARESUBPROJ |
N/A | Si le plug-in de contrôle de code source permet à l’IDE de spécifier le dossier de projet local, le plug-in retourne SCC_I_SHARESUBPROJOK . |
SCC_OPT_EVENTQUEUE
Si nOption
c’est SCC_OPT_EVENTQUEUE
le cas, l’IDE désactive (ou réactive) le traitement en arrière-plan. Par exemple, lors d’une compilation, l’IDE peut indiquer au plug-in de contrôle de code source d’arrêter le traitement inactif de n’importe quel type. Après la compilation, il réactive le traitement en arrière-plan pour maintenir la file d’attente d’événements du plug-in à jour. Correspondant à la SCC_OPT_EVENTQUEUE
valeur de nOption
, il existe deux valeurs possibles pour dwVal
, à savoir , SCC_OPT_EQ_ENABLE
et SCC_OPT_EQ_DISABLE
.
SCC_OPT_HASCANCELMODE
Si la valeur est nOption
SCC_OPT_HASCANCELMODE
définie, l’IDE permet aux utilisateurs d’annuler de longues opérations. SCC_OPT_HCM_NO
La valeur dwVal
(valeur par défaut) indique que l’IDE n’a pas de mode d’annulation. Le plug-in de contrôle de code source doit offrir son propre bouton Annuler s’il souhaite que l’utilisateur puisse annuler. SCC_OPT_HCM_YES
indique que l’IDE offre la possibilité d’annuler une opération. Par conséquent, le plug-in SCC n’a pas besoin d’afficher son propre bouton Annuler. Si l’IDE est définie dwVal
SCC_OPT_HCM_YES
sur , il est prêt à répondre aux SCC_MSG_STATUS
messages envoyés DOCANCEL
à la lpTextOutProc
fonction de rappel (voir LPTEXTOUTPROC). Si l’IDE ne définit pas cette variable, le plug-in ne doit pas envoyer ces deux messages.
SCC_OPT_NAMECHANGEPFN
Si nOption est défini sur SCC_OPT_NAMECHANGEPFN
, et que le plug-in de contrôle de code source et l’IDE l’autorisent, le plug-in peut réellement renommer ou déplacer un fichier pendant une opération de contrôle de code source. La dwVal
valeur est définie sur un pointeur de fonction de type OPTNAMECHANGEPFN. Pendant une opération de contrôle de code source, le plug-in peut appeler cette fonction, en passant trois paramètres. Il s’agit de l’ancien nom (avec un chemin complet) d’un fichier, du nouveau nom (avec le chemin complet) de ce fichier et d’un pointeur vers des informations pertinentes pour l’IDE. L’IDE envoie ce dernier pointeur en appelant SccSetOption
avec nOption
la valeur définie SCC_OPT_USERDATA
sur , pointant dwVal
vers les données. La prise en charge de cette fonction est facultative. Un plug-in VSSCI qui utilise cette capacité doit initialiser son pointeur de fonction et les variables de données utilisateur vers NULL
, et il ne doit pas appeler une fonction de renommage, sauf si elle a été donnée. Il doit également être prêt à contenir la valeur qu’il a reçu ou à le modifier en réponse à un nouvel appel à SccSetOption
. Cela ne se produit pas au milieu d’une opération de commande de contrôle de code source, mais cela peut se produire entre les commandes.
SCC_OPT_SCCCHECKOUTONLY
Si nOption est défini SCC_OPT_SCCCHECKOUTONLY
sur , l’IDE indique que les fichiers du projet actuellement ouvert ne doivent jamais être extraits manuellement via l’interface utilisateur du système de contrôle de code source. Au lieu de cela, les fichiers doivent être extraits uniquement via le plug-in de contrôle de code source sous contrôle IDE. Si dwValue
la valeur est définie SCC_OPT_SCO_NO
, cela signifie que les fichiers doivent être traités normalement par le plug-in et peuvent être extraits via l’interface utilisateur du contrôle de code source. Si dwValue
la valeur est définie SCC_OPT_SCO_YES
, seul le plug-in est autorisé à extraire les fichiers et l’interface utilisateur du système de contrôle de code source ne doit pas être appelée. C’est pour les situations où l’IDE peut avoir des « pseudo-fichiers » qui sont logiques pour extraire uniquement via l’IDE.
SCC_OPT_SHARESUBPROJ
Si nOption
la valeur est définie SCC_OPT_SHARESUBPROJ
, l’IDE teste si le plug-in de contrôle de code source peut utiliser un dossier local spécifié lors de l’ajout de fichiers à partir du contrôle de code source. La valeur du dwVal
paramètre n’a pas d’importance dans ce cas. Si le plug-in permet à l’IDE de spécifier le dossier de destination local dans lequel les fichiers seront ajoutés à partir du contrôle de code source lorsque sccAddFromScc est appelé, le plug-in doit retourner SCC_I_SHARESUBPROJOK
lorsque la SccSetOption
fonction est appelée. L’IDE utilise ensuite le lplpFileNames
paramètre de la SccAddFromScc
fonction pour passer le dossier de destination. Le plug-in utilise ce dossier de destination pour placer les fichiers ajoutés à partir du contrôle de code source. Si le plug-in ne retourne SCC_I_SHARESUBPROJOK
pas lorsque l’option SCC_OPT_SHARESUBPROJ
est définie, l’IDE suppose que le plug-in est en mesure d’ajouter des fichiers uniquement dans le dossier local actuel.