Added documentation generated with AdaBrowse. When changing an interface, must run 'make docs' before commiting.
This commit is contained in:
parent
c6e68bfcc7
commit
8b92cc5369
9
Makefile
9
Makefile
|
@ -11,7 +11,7 @@ MKDIR=mkdir -p
|
|||
CP=cp
|
||||
|
||||
|
||||
.PHONY: debug test install installclean clean cleanall all support remove dist
|
||||
.PHONY: debug test install installclean clean cleanall all support remove dist docs
|
||||
|
||||
#library
|
||||
$(LIB): src/*.adb src/*.ads include/*.ads adaid.gpr
|
||||
|
@ -93,6 +93,11 @@ $(DIST): cleanall
|
|||
--xform 's!$(THIS)!$(DIST_NAME)!'\
|
||||
$(THIS)
|
||||
|
||||
#documentation
|
||||
docs: include/*.ads
|
||||
ls include/*.ads | adabrowse -i -o ./ -f-
|
||||
@mv *.html doc
|
||||
|
||||
#misc
|
||||
all: $(LIB) $(TEST)
|
||||
|
||||
|
@ -100,5 +105,5 @@ clean:
|
|||
$(RM) -f obj/*.* obj/test/*.* obj/debug/*.* ali/*.* ali/debug/*.* 2> /dev/null
|
||||
|
||||
cleanall: clean
|
||||
$(RM) -f support/*.gpr bin/* lib/* adaid.gpr 2> /dev/null
|
||||
$(RM) -f support/*.gpr bin/* lib/* adaid.gpr doc/*.html 2> /dev/null
|
||||
|
||||
|
|
|
@ -0,0 +1,124 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
|
||||
<HTML>
|
||||
|
||||
<HEAD>
|
||||
<TITLE>Package: AdaID.Generate</TITLE>
|
||||
<META NAME="generator" CONTENT="AdaBrowse 4.0.3 http://home.tiscalinet.ch/t_wolf/tw/ada95/adabrowse/">
|
||||
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<LINK REV="made" HREF="http://home.tiscalinet.ch/t_wolf/tw/ada95/adabrowse/">
|
||||
<STYLE TYPE="text/css">
|
||||
TABLE.title { background-color : #99CCFF }
|
||||
TABLE.footer { background-color : #99CCFF }
|
||||
TD.type { background-color : #CCEEFF }
|
||||
TD.odd { background-color : #99CCFF }
|
||||
TD.even { background-color : #CCEEFF }
|
||||
TD.code { background-color : #EEEEEE }
|
||||
SPAN.comment { color : red }
|
||||
SPAN.literal { color : green }
|
||||
SPAN.definition { color : purple }
|
||||
H3.subtitle { background-color : #CCEEFF }
|
||||
UL.index { list-style: none }
|
||||
</STYLE>
|
||||
<LINK REL="stylesheet" HREF="adabrowse.css" TYPE="text/css">
|
||||
</HEAD>
|
||||
|
||||
<BODY BGCOLOR="#FFFFF4">
|
||||
|
||||
<TABLE WIDTH="100%" CLASS="title" BORDER=0 CELLSPACING=0 CELLPADDING=5><TR><TD><H2>Package: AdaID.Generate</H2></TD></TR></TABLE>
|
||||
|
||||
<!-- Generated by AdaBrowse 4.0.3 http://home.tiscalinet.ch/t_wolf/tw/ada95/adabrowse/ -->
|
||||
<H3 CLASS="subtitle">Description</H3>
|
||||
<DIV>
|
||||
AdaID.Generate defines the functions required to generate UUIDs using
|
||||
different standard methods.
|
||||
</DIV>
|
||||
<HR>
|
||||
<TABLE WIDTH="100%" BORDER=1 CELLSPACING=0 CELLPADDING=0>
|
||||
<TR><TD COLSPAN=2>
|
||||
<H3 CLASS="subtitle">Header</H3>
|
||||
</TD></TR>
|
||||
<TR><TD COLSPAN=2 CLASS="odd">
|
||||
<PRE><CODE><STRONG>package</STRONG> <A HREF="adaid.html">AdaID</A>.<A NAME="10_15"><SPAN CLASS="definition">Generate</SPAN></A> <STRONG>is</STRONG>
|
||||
</CODE></PRE>
|
||||
</TD></TR>
|
||||
<TR><TD WIDTH="2%" CLASS="odd"><PRE> </PRE></TD>
|
||||
<TD>
|
||||
<TABLE WIDTH="100%" BORDER=0 CELLSPACING=0 CELLPADDING=0>
|
||||
<TR><TD>
|
||||
<H3 CLASS="subtitle">Exceptions</H3>
|
||||
<TABLE WIDTH="100%" BORDER=0 CELLSPACING=0>
|
||||
<TR><TD ALIGN="LEFT" CLASS="code">
|
||||
<CODE><A NAME="12_2"><SPAN CLASS="definition">Invalid_String</SPAN></A></CODE></TD></TR>
|
||||
<TR><TD>
|
||||
<DIV>
|
||||
Thrown when invalid strings are passed to From_String
|
||||
</DIV>
|
||||
</TD></TR>
|
||||
</TABLE>
|
||||
</TD></TR>
|
||||
<TR><TD>
|
||||
<HR>
|
||||
<H3 CLASS="subtitle">Other Items:</H3>
|
||||
</TD></TR>
|
||||
<TR><TD>
|
||||
<TABLE WIDTH="100%" BORDER=0 CELLSPACING=0 CELLPADDING=0>
|
||||
<TR><TD CLASS="code">
|
||||
<PRE><CODE><STRONG>procedure</STRONG> <A NAME="16_12"><SPAN CLASS="definition">Nil</SPAN></A>(id : <STRONG>in</STRONG> <STRONG>out</STRONG> <A HREF="adaid.html#46_7">UUID</A>);</CODE></PRE>
|
||||
</TD></TR>
|
||||
<TR><TD>
|
||||
<DIV>
|
||||
Set a UUID to Nil
|
||||
</DIV>
|
||||
</TD></TR>
|
||||
</TABLE>
|
||||
<HR>
|
||||
</TD></TR>
|
||||
<TR><TD>
|
||||
<TABLE WIDTH="100%" BORDER=0 CELLSPACING=0 CELLPADDING=0>
|
||||
<TR><TD CLASS="code">
|
||||
<PRE><CODE><STRONG>procedure</STRONG> <A NAME="20_12"><SPAN CLASS="definition">Random</SPAN></A>(id : <STRONG>in</STRONG> <STRONG>out</STRONG> <A HREF="adaid.html#46_7">UUID</A>);</CODE></PRE>
|
||||
</TD></TR>
|
||||
<TR><TD>
|
||||
<DIV>
|
||||
Generate a random UUID
|
||||
</DIV>
|
||||
</TD></TR>
|
||||
</TABLE>
|
||||
<HR>
|
||||
</TD></TR>
|
||||
<TR><TD>
|
||||
<TABLE WIDTH="100%" BORDER=0 CELLSPACING=0 CELLPADDING=0>
|
||||
<TR><TD CLASS="code">
|
||||
<PRE><CODE><STRONG>procedure</STRONG> <A NAME="23_12"><SPAN CLASS="definition">From_Name</SPAN></A>(namespace: <STRONG>in</STRONG> <A HREF="adaid.html#46_7">UUID</A>; name: <STRONG>in</STRONG> String; id: <STRONG>in</STRONG> <STRONG>out</STRONG> <A HREF="adaid.html#46_7">UUID</A>);</CODE></PRE>
|
||||
</TD></TR>
|
||||
<TR><TD>
|
||||
<DIV>
|
||||
Generate a UUID based on a name
|
||||
</DIV>
|
||||
</TD></TR>
|
||||
</TABLE>
|
||||
<HR>
|
||||
</TD></TR>
|
||||
<TR><TD>
|
||||
<TABLE WIDTH="100%" BORDER=0 CELLSPACING=0 CELLPADDING=0>
|
||||
<TR><TD CLASS="code">
|
||||
<PRE><CODE><STRONG>procedure</STRONG> <A NAME="26_12"><SPAN CLASS="definition">From_String</SPAN></A>(str : <STRONG>in</STRONG> String; id : <STRONG>in</STRONG> <STRONG>out</STRONG> <A HREF="adaid.html#46_7">UUID</A>);</CODE></PRE>
|
||||
</TD></TR>
|
||||
<TR><TD>
|
||||
<DIV>
|
||||
Generate a UUID from a string.
|
||||
This is not so much generation, but reconstruction
|
||||
</DIV>
|
||||
</TD></TR>
|
||||
</TABLE>
|
||||
</TD></TR>
|
||||
</TABLE>
|
||||
</TD></TR>
|
||||
<TR><TD COLSPAN=2 CLASS="odd">
|
||||
<PRE><CODE><STRONG>end</STRONG> <A HREF="adaid.html">AdaID</A>.Generate;</CODE></PRE>
|
||||
</TD></TR>
|
||||
</TABLE>
|
||||
<!-- --><HR><TABLE WIDTH="100%" CLASS="footer" BORDER=0 CELLSPACING=0 CELLPADDING=5><TR><TD><FONT SIZE=-1><!-- -->Generated on 2012-01-20 at 11:19:19 by <A HREF="http://home.tiscalinet.ch/t_wolf/tw/ada95/adabrowse/" TARGET="_top">AdaBrowse 4.0.3</A>.</FONT></TD></TR></TABLE>
|
||||
</BODY>
|
||||
</HTML>
|
|
@ -0,0 +1,288 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
|
||||
<HTML>
|
||||
|
||||
<HEAD>
|
||||
<TITLE>Package: AdaID</TITLE>
|
||||
<META NAME="generator" CONTENT="AdaBrowse 4.0.3 http://home.tiscalinet.ch/t_wolf/tw/ada95/adabrowse/">
|
||||
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<LINK REV="made" HREF="http://home.tiscalinet.ch/t_wolf/tw/ada95/adabrowse/">
|
||||
<STYLE TYPE="text/css">
|
||||
TABLE.title { background-color : #99CCFF }
|
||||
TABLE.footer { background-color : #99CCFF }
|
||||
TD.type { background-color : #CCEEFF }
|
||||
TD.odd { background-color : #99CCFF }
|
||||
TD.even { background-color : #CCEEFF }
|
||||
TD.code { background-color : #EEEEEE }
|
||||
SPAN.comment { color : red }
|
||||
SPAN.literal { color : green }
|
||||
SPAN.definition { color : purple }
|
||||
H3.subtitle { background-color : #CCEEFF }
|
||||
UL.index { list-style: none }
|
||||
</STYLE>
|
||||
<LINK REL="stylesheet" HREF="adabrowse.css" TYPE="text/css">
|
||||
</HEAD>
|
||||
|
||||
<BODY BGCOLOR="#FFFFF4">
|
||||
|
||||
<TABLE WIDTH="100%" CLASS="title" BORDER=0 CELLSPACING=0 CELLPADDING=5><TR><TD><H2>Package: AdaID</H2></TD></TR></TABLE>
|
||||
|
||||
<!-- Generated by AdaBrowse 4.0.3 http://home.tiscalinet.ch/t_wolf/tw/ada95/adabrowse/ -->
|
||||
<H3 CLASS="subtitle">Dependencies</H3>
|
||||
<PRE><CODE><STRONG>with</STRONG> Ada.Finalization;
|
||||
<STRONG>with</STRONG> Interfaces; <STRONG>use</STRONG> Interfaces;</CODE></PRE>
|
||||
<DIV>
|
||||
for Unsigned_n
|
||||
</DIV>
|
||||
<HR>
|
||||
<H3 CLASS="subtitle">Description</H3>
|
||||
<DIV>
|
||||
File: adaid.ads
|
||||
Description: A UUID type for Ada
|
||||
Author: Anthony Arnold
|
||||
License: http://www.gnu.org/licenses/gpl.txt
|
||||
</DIV>
|
||||
<HR>
|
||||
<TABLE WIDTH="100%" BORDER=1 CELLSPACING=0 CELLPADDING=0>
|
||||
<TR><TD COLSPAN=2>
|
||||
<H3 CLASS="subtitle">Header</H3>
|
||||
</TD></TR>
|
||||
<TR><TD COLSPAN=2 CLASS="odd">
|
||||
<PRE><CODE><STRONG>package</STRONG> <A NAME="13_9"><SPAN CLASS="definition">AdaID</SPAN></A> <STRONG>is</STRONG>
|
||||
</CODE></PRE>
|
||||
</TD></TR>
|
||||
<TR><TD WIDTH="2%" CLASS="odd"><PRE> </PRE></TD>
|
||||
<TD>
|
||||
<TABLE WIDTH="100%" BORDER=0 CELLSPACING=0 CELLPADDING=0>
|
||||
<TR><TD>
|
||||
<H3 CLASS="subtitle">Type Summary</H3>
|
||||
<TABLE WIDTH="100%" BORDER=0 CELLSPACING=0>
|
||||
<TR><TD COLSPAN=2 ALIGN="LEFT" CLASS="type">
|
||||
<CODE><A HREF="#21_7">Byte</A></CODE></TD></TR>
|
||||
<TR><TD COLSPAN=2 ALIGN="LEFT" CLASS="type">
|
||||
<CODE><A HREF="#24_7">ByteArray</A></CODE></TD></TR>
|
||||
<TR><TD COLSPAN=2 ALIGN="LEFT" CLASS="type">
|
||||
<CODE><A HREF="#46_7">UUID</A></CODE> derived from <CODE>Controlled</CODE></TD></TR>
|
||||
<TR><TD VALIGN="TOP">New Operations: </TD><TD WIDTH="100%">
|
||||
<CODE><A HREF="#61_11">"="</A></CODE>,
|
||||
<CODE><A HREF="#64_11">Get_Hash_Value</A></CODE>,
|
||||
<CODE><A HREF="#58_11">Get_Variant</A></CODE>,
|
||||
<CODE><A HREF="#55_11">Get_Version</A></CODE>,
|
||||
<CODE><A HREF="#52_11">Is_Nil</A></CODE>,
|
||||
<CODE><A HREF="#67_11">To_String</A></CODE>
|
||||
</TD></TR>
|
||||
<TR><TD VALIGN="TOP">Inherited Operations: </TD><TD WIDTH="100%">
|
||||
<CODE>Adjust</CODE>,
|
||||
<CODE>Finalize</CODE>,
|
||||
<CODE>Initialize</CODE>
|
||||
</TD></TR>
|
||||
<TR><TD COLSPAN=2 ALIGN="LEFT" CLASS="type">
|
||||
<CODE><A HREF="#37_7">VariantType</A></CODE></TD></TR>
|
||||
<TR><TD COLSPAN=2 ALIGN="LEFT" CLASS="type">
|
||||
<CODE><A HREF="#27_7">VersionType</A></CODE></TD></TR>
|
||||
</TABLE>
|
||||
</TD></TR>
|
||||
<TR><TD>
|
||||
<HR>
|
||||
<H3 CLASS="subtitle">Constants and Named Numbers</H3>
|
||||
<TABLE WIDTH="100%" BORDER=0 CELLSPACING=0>
|
||||
<TR><TD ALIGN="LEFT" CLASS="code">
|
||||
<CODE><A NAME="15_2"><SPAN CLASS="definition">uuid_size</SPAN></A>: <STRONG>constant</STRONG> Integer := 16;</CODE>
|
||||
</TD></TR>
|
||||
<TR><TD>
|
||||
<DIV>
|
||||
This many bytes in a UUID
|
||||
</DIV>
|
||||
</TD></TR>
|
||||
</TABLE>
|
||||
</TD></TR>
|
||||
<TR><TD>
|
||||
<HR>
|
||||
<H3 CLASS="subtitle">Other Items:</H3>
|
||||
</TD></TR>
|
||||
<TR><TD>
|
||||
<TABLE WIDTH="100%" BORDER=0 CELLSPACING=0 CELLPADDING=0>
|
||||
<TR><TD CLASS="code">
|
||||
<PRE><CODE><STRONG>subtype</STRONG> <A NAME="18_10"><SPAN CLASS="definition">HashType</SPAN></A> <STRONG>is</STRONG> Unsigned_32;</CODE></PRE>
|
||||
</TD></TR>
|
||||
<TR><TD>
|
||||
<DIV>
|
||||
Represents a "Hash Code" of a UUID
|
||||
</DIV>
|
||||
</TD></TR>
|
||||
</TABLE>
|
||||
<HR>
|
||||
</TD></TR>
|
||||
<TR><TD>
|
||||
<TABLE WIDTH="100%" BORDER=0 CELLSPACING=0 CELLPADDING=0>
|
||||
<TR><TD CLASS="code">
|
||||
<PRE><CODE><STRONG>type</STRONG> <A NAME="21_7"><SPAN CLASS="definition">Byte</SPAN></A> <STRONG>is</STRONG> <STRONG>mod</STRONG> 2 ** 8;</CODE></PRE>
|
||||
</TD></TR>
|
||||
<TR><TD>
|
||||
<DIV>
|
||||
Byte Type (2^8)
|
||||
</DIV>
|
||||
</TD></TR>
|
||||
</TABLE>
|
||||
<HR>
|
||||
</TD></TR>
|
||||
<TR><TD>
|
||||
<TABLE WIDTH="100%" BORDER=0 CELLSPACING=0 CELLPADDING=0>
|
||||
<TR><TD CLASS="code">
|
||||
<PRE><CODE><STRONG>type</STRONG> <A NAME="24_7"><SPAN CLASS="definition">ByteArray</SPAN></A> <STRONG>is</STRONG> <STRONG>array</STRONG> (0 .. <A HREF="#15_2">uuid_size</A>-1) <STRONG>of</STRONG> <A HREF="#21_7">Byte</A>;</CODE></PRE>
|
||||
</TD></TR>
|
||||
<TR><TD>
|
||||
<DIV>
|
||||
Byte Array for UUID data storage
|
||||
</DIV>
|
||||
</TD></TR>
|
||||
</TABLE>
|
||||
<HR>
|
||||
</TD></TR>
|
||||
<TR><TD>
|
||||
<TABLE WIDTH="100%" BORDER=0 CELLSPACING=0 CELLPADDING=0>
|
||||
<TR><TD CLASS="code">
|
||||
<PRE><CODE><STRONG>type</STRONG> <A NAME="27_7"><SPAN CLASS="definition">VersionType</SPAN></A> <STRONG>is</STRONG> (
|
||||
<A NAME="28_3"><SPAN CLASS="definition">Unknown</SPAN></A>,
|
||||
<A NAME="29_3"><SPAN CLASS="definition">Time_Based</SPAN></A>,
|
||||
<A NAME="30_3"><SPAN CLASS="definition">DCE_Security</SPAN></A>,
|
||||
<A NAME="31_3"><SPAN CLASS="definition">Name_Based_MD5</SPAN></A>,
|
||||
<A NAME="32_3"><SPAN CLASS="definition">Random_Number_Based</SPAN></A>,
|
||||
<A NAME="33_3"><SPAN CLASS="definition">Name_Based_SHA1</SPAN></A>
|
||||
);</CODE></PRE>
|
||||
</TD></TR>
|
||||
<TR><TD>
|
||||
<DIV>
|
||||
The Version of the UUID
|
||||
</DIV>
|
||||
</TD></TR>
|
||||
</TABLE>
|
||||
<HR>
|
||||
</TD></TR>
|
||||
<TR><TD>
|
||||
<TABLE WIDTH="100%" BORDER=0 CELLSPACING=0 CELLPADDING=0>
|
||||
<TR><TD CLASS="code">
|
||||
<PRE><CODE><STRONG>type</STRONG> <A NAME="37_7"><SPAN CLASS="definition">VariantType</SPAN></A> <STRONG>is</STRONG> (
|
||||
<A NAME="38_3"><SPAN CLASS="definition">NCS</SPAN></A>,
|
||||
<A NAME="39_3"><SPAN CLASS="definition">RFC_4122</SPAN></A>,
|
||||
<A NAME="40_3"><SPAN CLASS="definition">Microsoft</SPAN></A>,
|
||||
<A NAME="41_3"><SPAN CLASS="definition">Future</SPAN></A>
|
||||
);</CODE></PRE>
|
||||
</TD></TR>
|
||||
<TR><TD>
|
||||
<DIV>
|
||||
The UUID Variant
|
||||
</DIV>
|
||||
</TD></TR>
|
||||
</TABLE>
|
||||
<HR>
|
||||
</TD></TR>
|
||||
<TR><TD>
|
||||
<TABLE WIDTH="100%" BORDER=0 CELLSPACING=0 CELLPADDING=0>
|
||||
<TR><TD CLASS="code">
|
||||
<PRE><CODE><STRONG>type</STRONG> <A NAME="46_7"><SPAN CLASS="definition">UUID</SPAN></A> <STRONG>is</STRONG> <STRONG>new</STRONG> Ada.Finalization.Controlled <STRONG>with</STRONG>
|
||||
<STRONG>record</STRONG>
|
||||
<A NAME="48_3"><SPAN CLASS="definition">data</SPAN></A>: <A HREF="#24_7">ByteArray</A>;
|
||||
<STRONG>end</STRONG> <STRONG>record</STRONG>;</CODE></PRE>
|
||||
</TD></TR>
|
||||
<TR><TD>
|
||||
<DIV>
|
||||
The main type for the package
|
||||
</DIV>
|
||||
</TD></TR>
|
||||
</TABLE>
|
||||
<HR>
|
||||
</TD></TR>
|
||||
<TR><TD>
|
||||
<TABLE WIDTH="100%" BORDER=0 CELLSPACING=0 CELLPADDING=0>
|
||||
<TR><TD CLASS="code">
|
||||
<PRE><CODE><STRONG>function</STRONG> <A NAME="52_11"><SPAN CLASS="definition">Is_Nil</SPAN></A>(This: <STRONG>in</STRONG> <A HREF="#46_7">UUID</A>) <STRONG>return</STRONG> Boolean;</CODE></PRE>
|
||||
</TD></TR>
|
||||
<TR><TD>
|
||||
<DIV>
|
||||
Determine if UUID is NIL (All Zeros)
|
||||
</DIV>
|
||||
</TD></TR>
|
||||
</TABLE>
|
||||
<HR>
|
||||
</TD></TR>
|
||||
<TR><TD>
|
||||
<TABLE WIDTH="100%" BORDER=0 CELLSPACING=0 CELLPADDING=0>
|
||||
<TR><TD CLASS="code">
|
||||
<PRE><CODE><STRONG>function</STRONG> <A NAME="55_11"><SPAN CLASS="definition">Get_Version</SPAN></A>(This: <STRONG>in</STRONG> <A HREF="#46_7">UUID</A>) <STRONG>return</STRONG> <A HREF="#27_7">VersionType</A>;</CODE></PRE>
|
||||
</TD></TR>
|
||||
<TR><TD>
|
||||
<DIV>
|
||||
Get the UUID Version
|
||||
</DIV>
|
||||
</TD></TR>
|
||||
</TABLE>
|
||||
<HR>
|
||||
</TD></TR>
|
||||
<TR><TD>
|
||||
<TABLE WIDTH="100%" BORDER=0 CELLSPACING=0 CELLPADDING=0>
|
||||
<TR><TD CLASS="code">
|
||||
<PRE><CODE><STRONG>function</STRONG> <A NAME="58_11"><SPAN CLASS="definition">Get_Variant</SPAN></A>(This: <STRONG>in</STRONG> <A HREF="#46_7">UUID</A>) <STRONG>return</STRONG> <A HREF="#37_7">VariantType</A>;</CODE></PRE>
|
||||
</TD></TR>
|
||||
<TR><TD>
|
||||
<DIV>
|
||||
Get the UUID Variant
|
||||
</DIV>
|
||||
</TD></TR>
|
||||
</TABLE>
|
||||
<HR>
|
||||
</TD></TR>
|
||||
<TR><TD>
|
||||
<TABLE WIDTH="100%" BORDER=0 CELLSPACING=0 CELLPADDING=0>
|
||||
<TR><TD CLASS="code">
|
||||
<PRE><CODE><STRONG>function</STRONG> <A NAME="61_11"><SPAN CLASS="definition"><SPAN CLASS="literal">"="</SPAN></SPAN></A>(Left, Right: <STRONG>in</STRONG> <A HREF="#46_7">UUID</A>) <STRONG>return</STRONG> Boolean;</CODE></PRE>
|
||||
</TD></TR>
|
||||
<TR><TD>
|
||||
<DIV>
|
||||
Test for equality between Left and Right
|
||||
</DIV>
|
||||
</TD></TR>
|
||||
</TABLE>
|
||||
<HR>
|
||||
</TD></TR>
|
||||
<TR><TD>
|
||||
<TABLE WIDTH="100%" BORDER=0 CELLSPACING=0 CELLPADDING=0>
|
||||
<TR><TD CLASS="code">
|
||||
<PRE><CODE><STRONG>function</STRONG> <A NAME="64_11"><SPAN CLASS="definition">Get_Hash_Value</SPAN></A>(This: <STRONG>in</STRONG> <A HREF="#46_7">UUID</A>) <STRONG>return</STRONG> <A HREF="#18_10">HashType</A>;</CODE></PRE>
|
||||
</TD></TR>
|
||||
<TR><TD>
|
||||
<DIV>
|
||||
Get the hash code for the UUID
|
||||
</DIV>
|
||||
</TD></TR>
|
||||
</TABLE>
|
||||
<HR>
|
||||
</TD></TR>
|
||||
<TR><TD>
|
||||
<TABLE WIDTH="100%" BORDER=0 CELLSPACING=0 CELLPADDING=0>
|
||||
<TR><TD CLASS="code">
|
||||
<PRE><CODE><STRONG>function</STRONG> <A NAME="67_11"><SPAN CLASS="definition">To_String</SPAN></A>(This: <STRONG>in</STRONG> <A HREF="#46_7">UUID</A>) <STRONG>return</STRONG> String;</CODE></PRE>
|
||||
</TD></TR>
|
||||
<TR><TD>
|
||||
<DIV>
|
||||
Convert the UUID to a common string representation
|
||||
</DIV>
|
||||
</TD></TR>
|
||||
</TABLE>
|
||||
</TD></TR>
|
||||
<TR><TD><HR></TD></TR>
|
||||
<TR><TD CLASS="code">
|
||||
<PRE><CODE><STRONG>private</STRONG>
|
||||
|
||||
<EM><SPAN CLASS="comment">-- Implementation-defined ...</SPAN></EM>
|
||||
</CODE></PRE>
|
||||
</TD></TR>
|
||||
</TABLE>
|
||||
</TD></TR>
|
||||
<TR><TD COLSPAN=2 CLASS="odd">
|
||||
<PRE><CODE><STRONG>end</STRONG> AdaID;</CODE></PRE>
|
||||
</TD></TR>
|
||||
</TABLE>
|
||||
<!-- --><HR><TABLE WIDTH="100%" CLASS="footer" BORDER=0 CELLSPACING=0 CELLPADDING=5><TR><TD><FONT SIZE=-1><!-- -->Generated on 2012-01-20 at 11:19:19 by <A HREF="http://home.tiscalinet.ch/t_wolf/tw/ada95/adabrowse/" TARGET="_top">AdaBrowse 4.0.3</A>.</FONT></TD></TR></TABLE>
|
||||
</BODY>
|
||||
</HTML>
|
|
@ -0,0 +1,39 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
|
||||
<HTML>
|
||||
|
||||
<HEAD>
|
||||
<TITLE>Unit Index</TITLE>
|
||||
<META NAME="generator" CONTENT="AdaBrowse 4.0.3 http://home.tiscalinet.ch/t_wolf/tw/ada95/adabrowse/">
|
||||
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<LINK REV="made" HREF="http://home.tiscalinet.ch/t_wolf/tw/ada95/adabrowse/">
|
||||
<STYLE TYPE="text/css">
|
||||
TABLE.title { background-color : #99CCFF }
|
||||
TABLE.footer { background-color : #99CCFF }
|
||||
TD.type { background-color : #CCEEFF }
|
||||
TD.odd { background-color : #99CCFF }
|
||||
TD.even { background-color : #CCEEFF }
|
||||
TD.code { background-color : #EEEEEE }
|
||||
SPAN.comment { color : red }
|
||||
SPAN.literal { color : green }
|
||||
SPAN.definition { color : purple }
|
||||
H3.subtitle { background-color : #CCEEFF }
|
||||
UL.index { list-style: none }
|
||||
</STYLE>
|
||||
<LINK REL="stylesheet" HREF="adabrowse.css" TYPE="text/css">
|
||||
</HEAD>
|
||||
|
||||
<BODY BGCOLOR="#FFFFF4">
|
||||
|
||||
<TABLE WIDTH="100%" CLASS="title" BORDER=0 CELLSPACING=0 CELLPADDING=5><TR><TD><H2>Unit Index</H2></TD></TR></TABLE>
|
||||
|
||||
<!-- Generated by AdaBrowse 4.0.3 http://home.tiscalinet.ch/t_wolf/tw/ada95/adabrowse/ -->
|
||||
</P>
|
||||
<H3><A NAME="A">A</A></H3>
|
||||
<P>
|
||||
<CODE><A HREF="adaid.html" >AdaID</A></CODE><BR>
|
||||
<CODE><A HREF="adaid-generate.html" >AdaID.Generate</A></CODE><BR>
|
||||
</P>
|
||||
<!-- --><HR><TABLE WIDTH="100%" CLASS="footer" BORDER=0 CELLSPACING=0 CELLPADDING=5><TR><TD><FONT SIZE=-1><!-- -->Generated on 2012-01-20 at 11:19:19 by <A HREF="http://home.tiscalinet.ch/t_wolf/tw/ada95/adabrowse/" TARGET="_top">AdaBrowse 4.0.3</A>.</FONT></TD></TR></TABLE>
|
||||
</BODY>
|
||||
</HTML>
|
|
@ -1,25 +1,31 @@
|
|||
-------------------------------------------------------------------------------
|
||||
-- File: adaid-generate.ads
|
||||
-- Description: UUID Generation
|
||||
-- Author: Anthony Arnold
|
||||
-- License: http://www.gnu.org/licenses/gpl.txt
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
-- AdaID.Generate defines the functions required to generate UUIDs using
|
||||
-- different standard methods.
|
||||
package AdaID.Generate is
|
||||
|
||||
-- Exception for string parsing
|
||||
|
||||
Invalid_String : exception;
|
||||
-- Thrown when invalid strings are passed to From_String
|
||||
|
||||
|
||||
-- Set a UUID to Nil
|
||||
procedure Nil(id : in out UUID);
|
||||
-- Set a UUID to Nil
|
||||
|
||||
|
||||
-- Generate a random UUID
|
||||
procedure Random(id : in out UUID);
|
||||
-- Generate a random UUID
|
||||
|
||||
-- Generate a UUID based on a name
|
||||
procedure From_Name(namespace: in UUID; name: in String; id: in out UUID);
|
||||
-- Generate a UUID based on a name
|
||||
|
||||
procedure From_String(str : in String; id : in out UUID);
|
||||
-- Generate a UUID from a string.
|
||||
-- This is not so much generation, but reconstruction
|
||||
procedure From_String(str : in String; id : in out UUID);
|
||||
|
||||
end AdaID.Generate;
|
||||
|
||||
|
|
|
@ -1,26 +1,29 @@
|
|||
-------------------------------------------------------------------------------
|
||||
-- File: adaid.ads
|
||||
-- Description: A UUID type for Ada
|
||||
-- Author: Anthony Arnold
|
||||
-- License: http://www.gnu.org/licenses/gpl.txt
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
with Ada.Finalization;
|
||||
with Interfaces; use Interfaces; -- for Unsigned_n
|
||||
|
||||
-- AdaID defines the types and accessor/miscellaneous functions for
|
||||
-- the UUID type.
|
||||
package AdaID is
|
||||
|
||||
-- Size type is unsigned
|
||||
subtype SizeType is Unsigned_32;
|
||||
uuid_size: constant Integer := 16; -- This many bytes in a UUID
|
||||
uuid_size: constant Integer := 16;
|
||||
-- This many bytes in a UUID
|
||||
|
||||
--Hash Type
|
||||
subtype HashType is SizeType; -- The 'hash' of a UUID
|
||||
subtype HashType is Unsigned_32;
|
||||
-- Represents a "Hash Code" of a UUID
|
||||
|
||||
type Byte is mod 2 ** 8;
|
||||
-- Byte Type (2^8)
|
||||
type Byte is mod 2 ** 8; -- 8-bit bytes
|
||||
|
||||
-- Byte Array for UUID data storage
|
||||
type ByteArray is array (0 .. uuid_size-1) of Byte;
|
||||
-- Byte Array for UUID data storage
|
||||
|
||||
-- Some UUID Enums
|
||||
type VersionType is (
|
||||
Unknown,
|
||||
Time_Based,
|
||||
|
@ -29,6 +32,7 @@ package AdaID is
|
|||
Random_Number_Based,
|
||||
Name_Based_SHA1
|
||||
);
|
||||
-- The Version of the UUID
|
||||
|
||||
type VariantType is (
|
||||
NCS,
|
||||
|
@ -36,33 +40,34 @@ package AdaID is
|
|||
Microsoft,
|
||||
Future
|
||||
);
|
||||
|
||||
-- The UUID Variant
|
||||
|
||||
|
||||
-- The main type for the package
|
||||
type UUID is new Ada.Finalization.Controlled with
|
||||
record
|
||||
data: ByteArray;
|
||||
end record;
|
||||
-- The main type for the package
|
||||
|
||||
--Determine if UUID is NIL
|
||||
function Is_Nil(This: in UUID) return Boolean;
|
||||
--Determine if UUID is NIL (All Zeros)
|
||||
|
||||
--Get the UUID Version
|
||||
function Get_Version(This: in UUID) return VersionType;
|
||||
--Get the UUID Version
|
||||
|
||||
--Get the UUID Variant
|
||||
function Get_Variant(This: in UUID) return VariantType;
|
||||
--Get the UUID Variant
|
||||
|
||||
--Test for equality
|
||||
function "="(Left, Right: in UUID) return Boolean;
|
||||
--Test for equality between Left and Right
|
||||
|
||||
--Get the hash value for the UUID
|
||||
function Get_Hash_Value(This: in UUID) return HashType;
|
||||
--Get the hash code for the UUID
|
||||
|
||||
--Convert the UUID to a string
|
||||
function To_String(This: in UUID) return String;
|
||||
--Convert the UUID to a common string representation
|
||||
|
||||
private
|
||||
--Default "constructor", initializes to NIL
|
||||
overriding procedure Initialize (This: in out UUID);
|
||||
--Default "constructor", initializes to NIL
|
||||
end AdaID;
|
||||
|
|
|
@ -1 +1,2 @@
|
|||
*.a
|
||||
*.so*
|
||||
|
|
Loading…
Reference in New Issue