Sample code for 30+ languages & platforms
Visual FoxPro

Example: Secrets.SecretSpecToJson method

Demonstrates the SecretSpecToJson method. This method converts a secret specification string to the JSON required to create or lookup the secret.

Chilkat Visual FoxPro Downloads

Visual FoxPro
LOCAL lnSuccess
LOCAL loSecrets
LOCAL loJson
LOCAL lcSspec

lnSuccess = 0

loSecrets = CreateObject('Chilkat.Secrets')
loJson = CreateObject('Chilkat.JsonObject')
loJson.EmitCompact = 0

* A secret name can include up to 4 components:
* [appName] / service / [domain] / username

* This example will demonstrate secret specification strings
* for each possible combination.

* ------------------------------------------------------
* 1: service + username
lcSspec = "!!imap|john@example.com"

loSecrets.SecretSpecToJson(lcSspec,loJson)
? loJson.Emit()

* Result:
* {
*   "service": "imap",
*   "username": "john@example.com"
* }

* ------------------------------------------------------
* 2: appName + service + username
lcSspec = "!!myApp|imap|john@example.com"

loSecrets.SecretSpecToJson(lcSspec,loJson)
? loJson.Emit()

* Result:
* {
*   "appName": "myApp",
*   "service": "imap",
*   "username": "john@example.com"
* }

* ------------------------------------------------------
* 3: service + domain + username
lcSspec = "!!|imap|imap.example.com|john"

loSecrets.SecretSpecToJson(lcSspec,loJson)
? loJson.Emit()

* Result:
* {
*   "service": "imap",
*   "domain": "imap.example.com",
*   "username": "john"
* }

* ------------------------------------------------------
* 4: appName + service + domain + username
lcSspec = "!!myApp|imap|imap.example.com|john"

loSecrets.SecretSpecToJson(lcSspec,loJson)
? loJson.Emit()

* Result:
* {
*   "appName": "myApp",
*   "service": "imap",
*   "domain": "imap.example.com",
*   "username": "john"
* }

RELEASE loSecrets
RELEASE loJson