= guidgen - GUID 𐶐郉Cuƃc[

  * Author: MIYAMUKO Katsuyuki ((<URL:mailto:miyamuko (at) gmail.com>))
  * URL: ((<URL:http://miyamuko.s56.xrea.com/xyzzy/guidgen.html>))
  * Version: 1.0.0


== SYNOPSIS

  * Cu

      (require "guidgen")

      (let ((guid (guidgen:guidgen)))
        (msgbox "GUID: ~A" guid))

      (let ((guid (guidgen:guidgen :downcase t)))
        (msgbox "GUID: ~A" guid))

      (use-package :guidgen)
      (multiple-value-bind (guid-str guid-list)
          (guidgen :downcase t)
        (msgbox "GUID: ~A (~{#x~x ~})" guid-str guid-list))

  * tgGh

      M-x guidgen-copy-to-clipboard
      M-x guidgen-copy-to-kill-ring

      M-x guidgen-insert
      M-x guidgen-replace
      M-x guidgen-replace-or-insert

      M-x guidgen-insert-implement-olecreate
      M-x guidgen-insert-define-guid
      M-x guidgen-insert-static-const-guid
      M-x guidgen-insert-registry
      M-x guidgen-insert-urn

      M-x guidgen-track-popup-menu
      M-x guidgen-setup-app-menu
      M-x guidgen-setup-app-popup-menu
      M-x guidgen-remove-app-menu
      M-x guidgen-remove-app-popup-menu


== DESCRIPTION

guidgen  GUID 𐶐邽߂̃c[łB
Microsoft  guidgen.exe ƓASY (Ƃ CoCreateGuid)  GUID 𐶐܂B

guidgen ͈ȉ̌` GUID 𐶐邱Ƃł܂B

  * IMPLEMENT_OLECREATE }N
  * DEFINE_GUID }N
  * static const GUID
  * WXg` ({xxxxxxxx-...})
  * urn ` (urn:uuid:xxxxxxxx-...)
  * ϊ (xxxxxxxx-...)

܂AOuɑΉĂ̂ GUID ʂɐ邱Ƃ\łB

    C-u M-x guidgen-insert
    C-u M-x guidgen-insert-implement-olecreate
    C-u M-x guidgen-insert-define-guid
    C-u M-x guidgen-insert-static-const-guid
    C-u M-x guidgen-insert-registry
    C-u M-x guidgen-insert-urn


== INSTALL

((<NetInstaller|URL:http://www7a.biglobe.ne.jp/~hat/xyzzy/ni.html>)) ŃCXg[ꍇ 3 ȍ~A
NetInstaller + ni-autoload gĂl 4 ȍ~ OK łB

(1) A[JCu_E[h܂B

    ((<URL:http://miyamuko.s56.xrea.com/xyzzy/archives/guidgen.zip>))

(2) A[JCuWJāA$XYZZY/site-lisp zɃt@CRs[܂B

(3) ~/.xyzzy ܂ $XYZZY/site-lisp/siteinit.l Ɉȉ̃R[hǉ܂B

        ;; guidgen
        (require "guidgen")

(4) ݒ𔽉f邽 xyzzy ċNĂB

    siteinit.l ɋLqꍇɂ͍ă_vKvłB

(5) ni-autoload gĂꍇAobt@̉ENbNj[ɁuGUIDvǉ܂B

    ni-autoload gĂȂꍇ́Aȉ̃R[h .xyzzy  siteinit.l ɒǉ邱Ƃ߂܂B

      ;; uc[vj[ɁuGUIDvƂj[ǉ܂B
      (guidgen-setup-app-menu)

      ;; ENbNj[ɁuGUIDvƂj[ǉ܂B
      (guidgen-setup-app-popup-menu)


== MODULE

=== PACKAGE

guidgen ͈ȉ̃pbP[W𗘗pĂ܂B

  * guidgen
  * guidgen-ffi
  * editor

=== EXPORT

guidgen ͈ȉ̃V{ export Ă܂B

  * guidgen pbP[W

    * *guidgen-version*
    * guidgen

  * guidgen-ffi

    pȂ̂ŏȗB

  * editor pbP[W

    * guidgen-copy-to-clipboard
    * guidgen-copy-to-kill-ring
    * guidgen-insert
    * guidgen-insert-define-guid
    * guidgen-insert-implement-olecreate
    * guidgen-insert-registry
    * guidgen-insert-static-const-guid
    * guidgen-insert-urn
    * guidgen-remove-app-menu
    * guidgen-remove-app-popup-menu
    * guidgen-replace
    * guidgen-replace-or-insert
    * guidgen-setup-app-menu
    * guidgen-setup-app-popup-menu
    * guidgen-track-popup-menu


=== VARIABLE

--- *guidgen-version*

    {Cũo[Wێ萔łB
    o[W major.minor.teeny Ƃ`łB
    ꂼ̔ԍ͕K 1 ɂ̂ŁAȉ̂悤ɔr邱Ƃł܂
    (Ruby Ɠł :-)B

        (if (string<= "1.1.0" guidgen:*guidgen-version*)
            (1.1.0 ȍ~ŗLȏ)
          (1.1.0 Õo[Wł̏))


=== COMMAND

--- guidgen-copy-to-clipboard

    GUID 𐶐ăNbv{[hɃRs[܂B

    `͖ϊ (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx) łB

--- guidgen-copy-to-kill-ring

    GUID 𐶐 kill ring ɃRs[܂B

    `͖ϊ (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx) łB

--- guidgen-insert

    GUID 𐶐ăJ[\ɑ}܂B

    `͖ϊ (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx) łB

--- guidgen-replace

    J[\ GUID u܂B

    J[\ GUID ۂ񂪖ꍇ͉܂B

--- guidgen-replace-or-insert

    J[\ GUID u܂B

    J[\ GUID ۂ񂪖ꍇ͐Vɑ}܂B

    OuɑΉĂ܂B

--- guidgen-insert-implement-olecreate

    IMPLEMENT_OLECREATE }N`ŃJ[\ GUID }܂B

    ex)
        // {82E6BCA9-3AA9-478F-A9BC-E682A93A8F47}
        IMPLEMENT_OLECREATE(<<class>>, <<external_name>>,
        0x82e6bca9, 0x3aa9, 0x478f, 0xa9, 0xbc, 0xe6, 0x82, 0xa9, 0x3a, 0x8f, 0x47);

    OuɑΉĂ܂B

--- guidgen-insert-define-guid

    DEFINE_GUID }N`ŃJ[\ GUID }܂B

    ex)
        // {045E9D7A-2947-475D-7A9D-5E0447295D47}
        DEFINE_GUID(<<name>>,
        0x045e9d7a, 0x2947, 0x475d, 0x7a, 0x9d, 0x5e, 0x04, 0x47, 0x29, 0x5d, 0x47);

    OuɑΉĂ܂B

--- guidgen-insert-static-const-guid

    GUID \̌`ŃJ[\ GUID }܂B

    ex)
        // {6EAC24CD-4E4F-4420-CD24-AC6E4F4E2044}
        static const GUID <<name>> = {
            0x6eac24cd, 0x4e4f, 0x4420, { 0xcd, 0x24, 0xac, 0x6e, 0x4f, 0x4e, 0x20, 0x44 }
        };

    OuɑΉĂ܂B

--- guidgen-insert-registry

    WXg`ŃJ[\ GUID }܂B

    ex)
        {AEB3A288-457B-47DA-88A2-B3AE7B45DA47}

    OuɑΉĂ܂B

--- guidgen-insert-urn

    urn `ŃJ[\ GUID }܂B

    ex)
        urn:uuid:CA02D532-7FDC-4111-32D5-02CADC7F1141

    OuɑΉĂ܂B

--- guidgen-track-popup-menu

    GUID 𐶐邽߂̃j[|bvAbvĕ\܂B

--- guidgen-setup-app-menu

    uc[vj[ɁuGUIDvƂj[ǉ܂B

--- guidgen-setup-app-popup-menu

    ENbNj[ɁuGUIDvƂj[ǉ܂B

--- guidgen-remove-app-menu

    uc[vj[uGUIDvj[폜܂B

--- guidgen-remove-app-popup-menu

    ENbNj[uGUIDvj[폜܂B


=== FUNCTION

--- guidgen:guidgen &key downcase

    GUID 𐶐܂B
     GUID 𑽒lŕԂ܂B
    (1) GUID ̕\
    (2) GUID ̊etB[h𐔒lɂ list

    ex)
        (guidgen:guidgen)
        "14DF2874-0B1E-4E62-7428-DF141E0B624E"
        (350169204 2846 20066 116 40 223 20 30 11 98 78)

    downcase  non-nil w肷Ə 16 i GUID 𐶐܂B

        (car (multiple-value-list (guidgen:guidgen :downcase t)))
        "c26ff9d9-aac2-4c2b-d9f9-6fc2c2aa2b4c"


== EXPERIMENTAL FEATURE

guidgen ̃Cu clisp ɎIɑΉĂ܂B

    xyzzy/site-lisp> clisp --silent -i guidgen\guidgen.l
    ;; Loading file guidgen\guidgen.l ...
    ;;  Loading file guidgen\package.l ...
    ;;  Loaded file guidgen\package.l
    ;;  Loading file guidgen\guidgen-ffi.l ...
    ;;  Loaded file guidgen\guidgen-ffi.l
    ;; Loaded file guidgen\guidgen.l
    [1]> (guidgen:guidgen)
    "7D518485-5F3E-4CCC-A05B-359F07179636" ;
    (2102494341 24382 19660 160 91 53 159 7 23 150 54)
    [2]> (use-package :guidgen)
    T
    [3]> (car (multiple-value-list (guidgen :downcase t)))
    "048085b7-6ecd-4849-9585-2a6f23af95ac"
    [4]> *guidgen-version*
    "1.0.0"
    [5]> (lisp-implementation-version)
    "2.38 (2006-01-24) (built on stnt067 [192.168.0.1])"
    [6]>

== TODO

ȂB


== KNOWN BUGS

ȂB


== AUTHOR

݂ނ 䂫 (((<URL:mailto:miyamuko (at) gmail.com>)))


== SEE ALSO

  : Microsoft Exchange Server GUID Generator
        ((<URL:http://www.microsoft.com/downloads/details.aspx?FamilyId=94551F58-484F-4A8C-BB39-ADB270833AFC>))

  : UUID
        ((<URL:http://msdn.microsoft.com/library/default.asp?url=/library/en-us/rpc/rpc/uuid_1.asp>))

  : CoCreateGuid
        ((<URL:http://msdn.microsoft.com/library/default.asp?url=/library/en-us/com/html/8d5cedea-8c2b-4918-99db-1a000989f178.asp>))


== COPYRIGHT

guidgen  MIT/X CZXɊÂėp\łB

See guidgen/docs/MIT-LICENSE for full license.

