Česky
Kamil Dudka

Tiny programs (C, C++, C#, ...)

File detail

Name:Downloadclass_diagram.xmi [Download]
Location: tiny > ISA > nntpbackup
Size:42.6 KB
Last modification:2022-09-09 13:06

Source code

<?xml version="1.0" encoding="UTF-8"?>
<XMI xmlns:UML="http://schema.omg.org/spec/UML/1.3" verified="false" timestamp="2006-10-16T20:35:39" xmi.version="1.2" >
 <XMI.header>
  <XMI.documentation>
   <XMI.exporter>umbrello uml modeller http://uml.sf.net</XMI.exporter>
   <XMI.exporterVersion>1.5.4</XMI.exporterVersion>
   <XMI.exporterEncoding>UnicodeUTF8</XMI.exporterEncoding>
  </XMI.documentation>
  <XMI.metamodel xmi.name="UML" href="UML.xml" xmi.version="1.3" />
 </XMI.header>
 <XMI.content>
  <UML:Model isSpecification="false" isLeaf="false" isRoot="false" xmi.id="m1" isAbstract="false" name="UML Model" >
   <UML:Namespace.ownedElement>
    <UML:Stereotype isSpecification="false" isLeaf="false" visibility="public" namespace="m1" xmi.id="3527" isRoot="false" isAbstract="false" name="datatype" />
    <UML:Stereotype isSpecification="false" isLeaf="false" visibility="public" namespace="m1" xmi.id="3540" isRoot="false" isAbstract="false" name="typedef" />
    <UML:Stereotype isSpecification="false" isLeaf="false" visibility="public" namespace="m1" xmi.id="3563" isRoot="false" isAbstract="false" name="constructor" />
    <UML:DataType stereotype="3527" isSpecification="false" isLeaf="false" visibility="public" namespace="m1" xmi.id="3526" isRoot="false" isAbstract="false" name="int" />
    <UML:DataType stereotype="3527" isSpecification="false" isLeaf="false" visibility="public" namespace="m1" xmi.id="3528" isRoot="false" isAbstract="false" name="char" />
    <UML:DataType stereotype="3527" isSpecification="false" isLeaf="false" visibility="public" namespace="m1" xmi.id="3529" isRoot="false" isAbstract="false" name="bool" />
    <UML:DataType stereotype="3527" isSpecification="false" isLeaf="false" visibility="public" namespace="m1" xmi.id="3530" isRoot="false" isAbstract="false" name="float" />
    <UML:DataType stereotype="3527" isSpecification="false" isLeaf="false" visibility="public" namespace="m1" xmi.id="3531" isRoot="false" isAbstract="false" name="double" />
    <UML:DataType stereotype="3527" isSpecification="false" isLeaf="false" visibility="public" namespace="m1" xmi.id="3532" isRoot="false" isAbstract="false" name="short" />
    <UML:DataType stereotype="3527" isSpecification="false" isLeaf="false" visibility="public" namespace="m1" xmi.id="3533" isRoot="false" isAbstract="false" name="long" />
    <UML:DataType stereotype="3527" isSpecification="false" isLeaf="false" visibility="public" namespace="m1" xmi.id="3534" isRoot="false" isAbstract="false" name="unsigned int" />
    <UML:DataType stereotype="3527" isSpecification="false" isLeaf="false" visibility="public" namespace="m1" xmi.id="3535" isRoot="false" isAbstract="false" name="unsigned short" />
    <UML:DataType stereotype="3527" isSpecification="false" isLeaf="false" visibility="public" namespace="m1" xmi.id="3536" isRoot="false" isAbstract="false" name="unsigned long" />
    <UML:DataType stereotype="3527" isSpecification="false" isLeaf="false" visibility="public" namespace="m1" xmi.id="3537" isRoot="false" isAbstract="false" name="string" />
    <UML:DataType stereotype="3527" isSpecification="false" isLeaf="false" visibility="public" namespace="m1" xmi.id="3538" isRoot="false" isAbstract="false" name="TSocket" elementReference="3526" />
    <UML:DataType stereotype="3527" isSpecification="false" isLeaf="false" visibility="public" namespace="m1" xmi.id="3542" isRoot="false" isAbstract="false" name="PNetLine" elementReference="3541" />
    <UML:DataType stereotype="3527" isSpecification="false" isLeaf="false" visibility="public" namespace="m1" xmi.id="3559" isRoot="false" isAbstract="false" name="const char*" elementReference="3528" />
    <UML:DataType stereotype="3527" isSpecification="false" isLeaf="false" visibility="public" namespace="m1" xmi.id="3567" isRoot="false" isAbstract="false" name="TcpConnection&amp;" elementReference="3543" />
    <UML:DataType stereotype="3527" isSpecification="false" isLeaf="false" visibility="public" namespace="m1" xmi.id="3569" isRoot="false" isAbstract="false" name="const char**" elementReference="3528" />
    <UML:DataType stereotype="3527" isSpecification="false" isLeaf="false" visibility="public" namespace="m1" xmi.id="3630" isRoot="false" isAbstract="false" name="const char* const" elementReference="3528" />
    <UML:DataType stereotype="3527" isSpecification="false" isLeaf="false" visibility="public" namespace="m1" xmi.id="3637" isRoot="false" isAbstract="false" name="Cmd*" elementReference="3593" />
    <UML:DataType stereotype="3527" isSpecification="false" isLeaf="false" visibility="public" namespace="m1" xmi.id="3639" isRoot="false" isAbstract="false" name="NntpProtocol&amp;" elementReference="3573" />
    <UML:DataType stereotype="3527" isSpecification="false" isLeaf="false" visibility="public" namespace="m1" xmi.id="3648" isRoot="false" isAbstract="false" name="const unsigned" elementReference="3561" />
    <UML:DataType stereotype="3527" isSpecification="false" isLeaf="false" visibility="public" namespace="m1" xmi.id="3658" isRoot="false" isAbstract="false" name="std::ostream&amp;" elementReference="3657" />
    <UML:DataType stereotype="3527" comment="file: nntp_client.cc - NNTP protocol layer encapsulation
project: nntpbackup (ISA)
By Kamil Dudka, xdudka00
mailto: xdudka00@gmail.com" isSpecification="false" isLeaf="false" visibility="public" namespace="m1" xmi.id="3663" isRoot="false" isAbstract="false" name="{" />
    <UML:DataType stereotype="3527" isSpecification="false" isLeaf="false" visibility="public" namespace="m1" xmi.id="3678" isRoot="false" isAbstract="false" name="char*" elementReference="3528" />
    <UML:DataType stereotype="3527" isSpecification="false" isLeaf="false" visibility="public" namespace="m1" xmi.id="3686" isRoot="false" isAbstract="false" name="char**" elementReference="3528" />
    <UML:Class stereotype="3540" isSpecification="false" isLeaf="false" visibility="public" namespace="m1" xmi.id="3539" isRoot="false" isAbstract="false" name="TNetLine" />
    <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="m1" xmi.id="3541" isRoot="false" isAbstract="false" name="NetLine" />
    <UML:Class comment="file: nntp_client.h - NNTP protocol layer encapsulation
project: nntpbackup (ISA)
By Kamil Dudka, xdudka00
mailto: xdudka00@gmail.com
//**
Class stands for TCP layer encapsulation" isSpecification="false" isLeaf="false" visibility="public" namespace="m1" xmi.id="3543" isRoot="false" isAbstract="false" name="TcpConnection" >
     <UML:Classifier.feature>
      <UML:Attribute isSpecification="false" visibility="private" xmi.id="3571" type="3538" name="_sockfd" />
      <UML:Attribute isSpecification="false" visibility="private" xmi.id="3572" type="3542" name="_netLine" />
      <UML:Operation stereotype="3563" comment="///&lt; Error while writeing to socket/**
Create an TCP connection
\param szAddr Address of server to connect (IPv4 or server name)
\param uPort Port number to connect to" isSpecification="false" isLeaf="false" visibility="public" xmi.id="3558" isRoot="false" isAbstract="false" isQuery="false" name="TcpConnection" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" visibility="private" xmi.id="3560" value="" type="3559" name="szAddr" />
        <UML:Parameter isSpecification="false" visibility="private" xmi.id="3562" value="" type="3561" name="uPort" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="3564" isRoot="false" isAbstract="false" isQuery="false" name="~ TcpConnection" />
      <UML:Operation comment="Write ascii text to socket.
\param szText Zero ended string to write to socket.
\return Return this. It can be useful for operator concatenation." isSpecification="false" isLeaf="false" visibility="public" xmi.id="3565" isRoot="false" isAbstract="false" isQuery="false" name="operator &lt;&lt;" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="4723" type="3567" />
        <UML:Parameter isSpecification="false" visibility="private" xmi.id="3566" value="" type="3559" name="szText" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation comment="Read one line (ended with CR-LF) from socket. CR-LF is dropped.
\param pszText *pszText will point to zero-ended line text (without CR-LF).
\return Return this. It can be useful for operator concatenation." isSpecification="false" isLeaf="false" visibility="public" xmi.id="3568" isRoot="false" isAbstract="false" isQuery="false" name="operator >>" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="4724" type="3567" />
        <UML:Parameter isSpecification="false" visibility="private" xmi.id="3570" value="" type="3569" name="pszText" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
     </UML:Classifier.feature>
     <UML:Namespace.ownedElement>
      <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="3543" xmi.id="3544" isRoot="false" isAbstract="false" name="Err" />
      <UML:Class comment="///&lt; General TCP error" isSpecification="false" isLeaf="false" visibility="public" namespace="3543" xmi.id="3545" isRoot="false" isAbstract="false" name="ErrConnect" />
      <UML:Class comment="///&lt; Error during TCP connect()" isSpecification="false" isLeaf="false" visibility="public" namespace="3543" xmi.id="3550" isRoot="false" isAbstract="false" name="ErrRead" />
      <UML:Class comment="///&lt; Error while reading from socket" isSpecification="false" isLeaf="false" visibility="public" namespace="3543" xmi.id="3554" isRoot="false" isAbstract="false" name="ErrWrite" />
     </UML:Namespace.ownedElement>
    </UML:Class>
    <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="m1" xmi.id="3561" isRoot="false" isAbstract="false" name="unsigned" />
    <UML:Class comment="NNTP protocol encapsulation." isSpecification="false" isLeaf="false" visibility="public" namespace="m1" xmi.id="3573" isRoot="false" isAbstract="false" name="NntpProtocol" >
     <UML:Classifier.feature>
      <UML:Attribute comment="///&lt; CR-LF" isSpecification="false" visibility="public" xmi.id="3631" type="3630" name="szEndl" ownerScope="classifier" />
      <UML:Attribute comment="///&lt; &quot;.&quot;" isSpecification="false" visibility="public" xmi.id="3632" type="3630" name="szEndText" ownerScope="classifier" />
      <UML:Attribute isSpecification="false" visibility="private" xmi.id="3643" type="3567" name="_tcp" />
      <UML:Attribute isSpecification="false" visibility="private" xmi.id="3644" type="3559" name="_szLine" />
      <UML:Attribute isSpecification="false" visibility="private" xmi.id="3645" type="3526" name="_iStatus" />
      <UML:Operation stereotype="3563" isSpecification="false" isLeaf="false" visibility="public" xmi.id="3633" isRoot="false" isAbstract="false" isQuery="false" name="NntpProtocol" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" visibility="private" xmi.id="3634" value="" type="3567" name="tcp" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation comment="///&lt; \param tcp Established tcp connection to nntp server." isSpecification="false" isLeaf="false" visibility="public" xmi.id="3635" isRoot="false" isAbstract="false" isQuery="false" name="~ NntpProtocol" />
      <UML:Operation comment="Send command to server and handle status response.
Command object will be always deleted by this method. Be careful.
\param cmd_to_send_and_DELETE Pointer to dynamically allocated Cmd object.
\return Return this. It can be useful for operator concatenation." isSpecification="false" isLeaf="false" visibility="public" xmi.id="3636" isRoot="false" isAbstract="false" isQuery="false" name="operator &lt;&lt;" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="4725" type="3639" />
        <UML:Parameter isSpecification="false" visibility="private" xmi.id="3638" value="" type="3637" name="cmd_to_send_and_DELETE" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="3640" isRoot="false" isAbstract="false" isQuery="false" name="getStatus" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="4726" type="3526" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation comment="///&lt; \return Return last command status response./**
Read next data line from server. Memory allocation is maintained by lower layers.
\param pszLine *pszLine will point to zero-ended string containing line text without CR-LF.
\return Return false if there is no line to read." isSpecification="false" isLeaf="false" visibility="public" xmi.id="3641" isRoot="false" isAbstract="false" isQuery="false" name="getLine" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="4727" type="3529" />
        <UML:Parameter isSpecification="false" visibility="private" xmi.id="3642" value="" type="3569" name="pszLine" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="private" xmi.id="3646" isRoot="false" isAbstract="false" isQuery="false" name="readStatus" />
     </UML:Classifier.feature>
     <UML:Namespace.ownedElement>
      <UML:Class comment="///&lt; Generic NNTP error" isSpecification="false" isLeaf="false" visibility="public" namespace="3573" xmi.id="3574" isRoot="false" isAbstract="false" name="ErrConnect" />
      <UML:Class comment="///&lt; Initial server response error" isSpecification="false" isLeaf="false" visibility="public" namespace="3573" xmi.id="3578" isRoot="false" isAbstract="false" name="ErrNoStatus" />
      <UML:Class comment="///&lt; No status code in server response" isSpecification="false" isLeaf="false" visibility="public" namespace="3573" xmi.id="3582" isRoot="false" isAbstract="false" name="ErrDot" />
      <UML:Class comment="///&lt; Dot notation error" isSpecification="false" isLeaf="false" visibility="public" namespace="3573" xmi.id="3586" isRoot="false" isAbstract="false" name="ErrCmd" >
       <UML:Classifier.feature>
        <UML:Attribute comment="///&lt; Error status returned from server///&lt; Errorneous status code" isSpecification="false" visibility="public" xmi.id="3590" type="3526" name="_iStatus" />
        <UML:Operation stereotype="3563" isSpecification="false" isLeaf="false" visibility="public" xmi.id="3591" isRoot="false" isAbstract="false" isQuery="false" name="ErrCmd" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="3592" value="" type="3526" name="iStatus" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
       </UML:Classifier.feature>
      </UML:Class>
      <UML:Class comment="NNTP protocol command abstraction." isSpecification="false" isLeaf="false" visibility="public" namespace="3573" xmi.id="3593" isRoot="false" isAbstract="false" name="Cmd" >
       <UML:Classifier.feature>
        <UML:Attribute comment="///&lt; Command's string without CR-LF" isSpecification="false" visibility="public" xmi.id="3599" type="3598" name="_strCmd" />
        <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="3594" isRoot="false" isAbstract="false" isQuery="false" name="~ Cmd" />
        <UML:Operation comment="///&lt; Always use virtual destructor///&lt; Abstract method handling command's status code" isSpecification="false" isLeaf="false" visibility="public" xmi.id="3595" isRoot="false" isAbstract="true" isQuery="false" name="handleStatus" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="3596" value="" type="3526" name="iStatus" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
       </UML:Classifier.feature>
      </UML:Class>
      <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="3573" xmi.id="3600" isRoot="false" isAbstract="false" name="CmdGroup" >
       <UML:Classifier.feature>
        <UML:Operation stereotype="3563" comment="///&lt; GROUP nntp command" isSpecification="false" isLeaf="false" visibility="public" xmi.id="3605" isRoot="false" isAbstract="false" isQuery="false" name="CmdGroup" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="3606" value="" type="3559" name="szGroup" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
        <UML:Operation comment="///&lt; \param szGroup Group name to select." isSpecification="false" isLeaf="false" visibility="public" xmi.id="3607" isRoot="false" isAbstract="false" isQuery="false" name="handleStatus" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="3608" value="" type="3526" name="" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
       </UML:Classifier.feature>
      </UML:Class>
      <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="3573" xmi.id="3609" isRoot="false" isAbstract="false" name="CmdArticle" >
       <UML:Classifier.feature>
        <UML:Operation stereotype="3563" comment="///&lt; ARTICLE nntp command" isSpecification="false" isLeaf="false" visibility="public" xmi.id="3613" isRoot="false" isAbstract="false" isQuery="false" name="CmdArticle" />
        <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="3614" isRoot="false" isAbstract="false" isQuery="false" name="handleStatus" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="3615" value="" type="3526" name="" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
       </UML:Classifier.feature>
      </UML:Class>
      <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="3573" xmi.id="3616" isRoot="false" isAbstract="false" name="CmdNext" >
       <UML:Classifier.feature>
        <UML:Operation stereotype="3563" comment="///&lt; NEXT nntp command" isSpecification="false" isLeaf="false" visibility="public" xmi.id="3620" isRoot="false" isAbstract="false" isQuery="false" name="CmdNext" />
        <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="3621" isRoot="false" isAbstract="false" isQuery="false" name="handleStatus" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="3622" value="" type="3526" name="" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
       </UML:Classifier.feature>
      </UML:Class>
      <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="3573" xmi.id="3623" isRoot="false" isAbstract="false" name="CmdQuit" >
       <UML:Classifier.feature>
        <UML:Operation stereotype="3563" comment="///&lt; QUIT nntp command" isSpecification="false" isLeaf="false" visibility="public" xmi.id="3627" isRoot="false" isAbstract="false" isQuery="false" name="CmdQuit" />
        <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="3628" isRoot="false" isAbstract="false" isQuery="false" name="handleStatus" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="3629" value="" type="3526" name="" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
       </UML:Classifier.feature>
      </UML:Class>
     </UML:Namespace.ownedElement>
    </UML:Class>
    <UML:Package isSpecification="false" isLeaf="false" visibility="public" namespace="m1" xmi.id="3597" isRoot="false" isAbstract="false" name="std" >
     <UML:Namespace.ownedElement>
      <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="3597" xmi.id="3598" isRoot="false" isAbstract="false" name="string" />
      <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="3597" xmi.id="3657" isRoot="false" isAbstract="false" name="ostream" />
     </UML:Namespace.ownedElement>
    </UML:Package>
    <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="m1" xmi.id="3601" isRoot="false" isAbstract="false" name="Cmd" />
    <UML:Class comment="Simple NNTP client class.
There is no need to use it." isSpecification="false" isLeaf="false" visibility="public" namespace="m1" xmi.id="3647" isRoot="false" isAbstract="false" name="NntpClient" >
     <UML:Classifier.feature>
      <UML:Attribute comment="///&lt; nntp default port number" isSpecification="false" visibility="public" xmi.id="3649" type="3648" name="DEF_NNTP_PORT" ownerScope="classifier" />
      <UML:Attribute isSpecification="false" visibility="private" xmi.id="3660" type="3543" name="_tcp" />
      <UML:Attribute isSpecification="false" visibility="private" xmi.id="3661" type="3573" name="_nntp" />
      <UML:Attribute isSpecification="false" visibility="private" xmi.id="3662" type="3529" name="_bEnd" />
      <UML:Operation stereotype="3563" comment="///&lt; Generic client exception/**
\param szServer Server address (URL or IP).
\param uPort Port number. DEF_NNTP_PORT is used by default." isSpecification="false" isLeaf="false" visibility="public" xmi.id="3650" isRoot="false" isAbstract="false" isQuery="false" name="NntpClient" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" visibility="private" xmi.id="3651" value="" type="3559" name="szServer" />
        <UML:Parameter isSpecification="false" visibility="private" xmi.id="3652" value="" type="3561" name="uPort" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="3653" isRoot="false" isAbstract="false" isQuery="false" name="~ NntpClient" />
      <UML:Operation comment="Select group on nntp server.
\param szGroup Group name to select." isSpecification="false" isLeaf="false" visibility="public" xmi.id="3654" isRoot="false" isAbstract="false" isQuery="false" name="groupSelect" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" visibility="private" xmi.id="3655" value="" type="3559" name="szGroup" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation comment="Grab next article on server to stream.
\param streamTo Outpout stream to write to.
\return Return false if there is no article left in group." isSpecification="false" isLeaf="false" visibility="public" xmi.id="3656" isRoot="false" isAbstract="false" isQuery="false" name="readNext" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="4728" type="3529" />
        <UML:Parameter isSpecification="false" visibility="private" xmi.id="3659" value="" type="3658" name="streamTo" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
     </UML:Classifier.feature>
    </UML:Class>
    <UML:Class comment="This class parse command-line arguments. It uses direct writing
to environment data thrught pointers. Be careful." isSpecification="false" isLeaf="false" visibility="public" namespace="m1" xmi.id="3664" isRoot="false" isAbstract="false" name="ArgParser" >
     <UML:Classifier.feature>
      <UML:Attribute isSpecification="false" visibility="private" xmi.id="3684" type="3678" name="_szServer" />
      <UML:Attribute isSpecification="false" visibility="private" xmi.id="3685" type="3561" name="_uPort" />
      <UML:Attribute isSpecification="false" visibility="private" xmi.id="3687" type="3686" name="_pszCurrent" />
      <UML:Operation stereotype="3563" comment="Class constructor. Parameters are the same as main() function parameters.
\param argc Main's argc parameter
\param argv Main's argv parameter" isSpecification="false" isLeaf="false" visibility="public" xmi.id="3676" isRoot="false" isAbstract="false" isQuery="false" name="ArgParser" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" visibility="private" xmi.id="3677" value="" type="3526" name="argc" />
        <UML:Parameter isSpecification="false" visibility="private" xmi.id="3679" value="" type="3678" name="argv[]" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="3680" isRoot="false" isAbstract="false" isQuery="false" name="server" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="4729" type="3559" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation isSpecification="false" isLeaf="false" visibility="public" xmi.id="3681" isRoot="false" isAbstract="false" isQuery="false" name="port" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="4730" type="3561" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation comment="///&lt; \return Return port number. Return 0 if not present.///&lt; \return Return pointer to next group name." isSpecification="false" isLeaf="false" visibility="public" xmi.id="3682" isRoot="false" isAbstract="false" isQuery="false" name="nextGroup" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter kind="return" xmi.id="4731" type="3529" />
        <UML:Parameter isSpecification="false" visibility="private" xmi.id="3683" value="" type="3569" name="pszGroup" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
     </UML:Classifier.feature>
     <UML:Namespace.ownedElement>
      <UML:Class comment="///&lt; General error exception" isSpecification="false" isLeaf="false" visibility="public" namespace="3664" xmi.id="3665" isRoot="false" isAbstract="false" name="ErrHelpNeeded" />
      <UML:Class comment="///&lt; User request to print help" isSpecification="false" isLeaf="false" visibility="public" namespace="3664" xmi.id="3669" isRoot="false" isAbstract="false" name="ErrCustom" >
       <UML:Classifier.feature>
        <UML:Attribute comment="///&lt; Custom-text exception///&lt; Error message text" isSpecification="false" visibility="public" xmi.id="3673" type="3598" name="_errMsg" />
        <UML:Operation stereotype="3563" isSpecification="false" isLeaf="false" visibility="public" xmi.id="3674" isRoot="false" isAbstract="false" isQuery="false" name="ErrCustom" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="3675" value="" type="3559" name="szMsg" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
       </UML:Classifier.feature>
      </UML:Class>
     </UML:Namespace.ownedElement>
    </UML:Class>
    <UML:Class comment="NntpClient wrapper. It adds some features to NntpClient class." isSpecification="false" isLeaf="false" visibility="public" namespace="m1" xmi.id="3688" isRoot="false" isAbstract="false" name="NntpBackup" >
     <UML:GeneralizableElement.generalization>
      <UML:Generalization xmi.idref="3689" />
     </UML:GeneralizableElement.generalization>
     <UML:Classifier.feature>
      <UML:Operation stereotype="3563" isSpecification="false" isLeaf="false" visibility="public" xmi.id="3699" isRoot="false" isAbstract="false" isQuery="false" name="NntpBackup" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" visibility="private" xmi.id="3700" value="" type="3559" name="szServer" />
        <UML:Parameter isSpecification="false" visibility="private" xmi.id="3701" value="" type="3561" name="uPort" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
      <UML:Operation comment="Concatenate all articles in group szGroup and save text to file szGroup.
\param szGroup Group name and also file name to save to." isSpecification="false" isLeaf="false" visibility="public" xmi.id="3702" isRoot="false" isAbstract="false" isQuery="false" name="groupBackup" >
       <UML:BehavioralFeature.parameter>
        <UML:Parameter isSpecification="false" visibility="private" xmi.id="3703" value="" type="3559" name="szGroup" />
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
     </UML:Classifier.feature>
     <UML:Namespace.ownedElement>
      <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="3688" xmi.id="3546" isRoot="false" isAbstract="false" name="Err" />
      <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="3688" xmi.id="3692" isRoot="false" isAbstract="false" name="ErrFileOpen" >
       <UML:Classifier.feature>
        <UML:Attribute comment="///&lt; Error opening file for writing///&lt; Errorneous file name" isSpecification="false" visibility="public" xmi.id="3696" type="3598" name="_fileName" />
        <UML:Operation stereotype="3563" isSpecification="false" isLeaf="false" visibility="public" xmi.id="3697" isRoot="false" isAbstract="false" isQuery="false" name="ErrFileOpen" >
         <UML:BehavioralFeature.parameter>
          <UML:Parameter isSpecification="false" visibility="private" xmi.id="3698" value="" type="3598" name="fileName" />
         </UML:BehavioralFeature.parameter>
        </UML:Operation>
       </UML:Classifier.feature>
      </UML:Class>
     </UML:Namespace.ownedElement>
    </UML:Class>
    <UML:Generalization isSpecification="false" child="3545" visibility="public" namespace="m1" xmi.id="3547" parent="3546" discriminator="" name="" />
    <UML:Generalization isSpecification="false" child="3550" visibility="public" namespace="m1" xmi.id="3551" parent="3546" discriminator="" name="" />
    <UML:Generalization isSpecification="false" child="3554" visibility="public" namespace="m1" xmi.id="3555" parent="3546" discriminator="" name="" />
    <UML:Generalization isSpecification="false" child="3574" visibility="public" namespace="m1" xmi.id="3575" parent="3546" discriminator="" name="" />
    <UML:Generalization isSpecification="false" child="3578" visibility="public" namespace="m1" xmi.id="3579" parent="3546" discriminator="" name="" />
    <UML:Generalization isSpecification="false" child="3582" visibility="public" namespace="m1" xmi.id="3583" parent="3546" discriminator="" name="" />
    <UML:Generalization isSpecification="false" child="3586" visibility="public" namespace="m1" xmi.id="3587" parent="3546" discriminator="" name="" />
    <UML:Generalization isSpecification="false" child="3600" visibility="public" namespace="m1" xmi.id="3602" parent="3601" discriminator="" name="" />
    <UML:Generalization isSpecification="false" child="3609" visibility="public" namespace="m1" xmi.id="3610" parent="3601" discriminator="" name="" />
    <UML:Generalization isSpecification="false" child="3616" visibility="public" namespace="m1" xmi.id="3617" parent="3601" discriminator="" name="" />
    <UML:Generalization isSpecification="false" child="3623" visibility="public" namespace="m1" xmi.id="3624" parent="3601" discriminator="" name="" />
    <UML:Generalization isSpecification="false" child="3665" visibility="public" namespace="m1" xmi.id="3666" parent="3546" discriminator="" name="" />
    <UML:Generalization isSpecification="false" child="3669" visibility="public" namespace="m1" xmi.id="3670" parent="3546" discriminator="" name="" />
    <UML:Generalization isSpecification="false" child="3688" visibility="public" namespace="m1" xmi.id="3689" parent="3647" discriminator="" name="" />
    <UML:Generalization isSpecification="false" child="3692" visibility="public" namespace="m1" xmi.id="3693" parent="3546" discriminator="" name="" />
   </UML:Namespace.ownedElement>
  </UML:Model>
 </XMI.content>
 <XMI.extensions xmi.extender="umbrello" >
  <docsettings viewid="3525" documentation="" uniqueid="4731" />
  <diagrams>
   <diagram snapgrid="0" showattsig="1" fillcolor="#ffffc0" linewidth="0" zoom="100" showgrid="0" showopsig="1" usefillcolor="1" snapx="10" canvaswidth="1003" snapy="10" showatts="1" xmi.id="3525" documentation="" type="402" showops="1" showpackage="0" name="Diagram třídy" localid="900000" showstereotype="0" showscope="1" snapcsgrid="0" font="Arial,10,-1,5,50,0,0,0,0,0" linecolor="#ff0000" canvasheight="803" >
    <widgets>
     <classwidget usesdiagramfillcolour="1" width="482" showattsigs="601" usesdiagramusefillcolour="1" x="25" y="32" showopsigs="601" linewidth="none" fillcolour="none" height="146" usefillcolor="1" showpubliconly="0" showattributes="1" isinstance="0" xmi.id="3543" showoperations="1" showpackage="0" showscope="1" font="Arial,10,-1,5,75,0,0,0,0,0" linecolor="none" />
     <classwidget usesdiagramfillcolour="1" width="482" showattsigs="601" usesdiagramusefillcolour="1" x="25" y="189" showopsigs="601" linewidth="none" fillcolour="none" height="240" usefillcolor="1" showpubliconly="0" showattributes="1" isinstance="0" xmi.id="3573" showoperations="1" showpackage="0" showscope="1" font="Arial,10,-1,5,75,0,0,0,0,0" linecolor="none" />
     <classwidget usesdiagramfillcolour="1" width="376" showattsigs="601" usesdiagramusefillcolour="1" x="575" y="45" showopsigs="601" linewidth="none" fillcolour="none" height="180" usefillcolor="1" showpubliconly="0" showattributes="1" isinstance="0" xmi.id="3647" showoperations="1" showpackage="0" showscope="1" font="Arial,10,-1,5,75,0,0,0,0,0" linecolor="none" />
     <classwidget usesdiagramfillcolour="1" width="389" showattsigs="601" usesdiagramusefillcolour="1" x="569" y="502" showopsigs="601" linewidth="none" fillcolour="none" height="70" usefillcolor="1" showpubliconly="0" showattributes="1" isinstance="0" xmi.id="3688" showoperations="1" showpackage="0" showscope="1" font="Arial,10,-1,5,75,0,0,0,0,0" linecolor="none" />
     <classwidget usesdiagramfillcolour="1" width="309" showattsigs="601" usesdiagramusefillcolour="1" x="207" y="500" showopsigs="601" linewidth="none" fillcolour="none" height="160" usefillcolor="1" showpubliconly="0" showattributes="1" isinstance="0" xmi.id="3664" showoperations="1" showpackage="0" showscope="1" font="Arial,10,-1,5,75,0,0,0,0,0" linecolor="none" />
     <boxwidget usesdiagramfillcolour="1" width="959" usesdiagramusefillcolour="1" x="15" y="19" linewidth="none" fillcolour="none" height="433" usefillcolor="1" isinstance="0" xmi.id="4070" showstereotype="1" font="Arial,10,-1,5,50,0,0,0,0,0" linecolor="#000000" />
     <boxwidget usesdiagramfillcolour="1" width="782" usesdiagramusefillcolour="1" x="190" y="475" linewidth="none" fillcolour="none" height="207" usefillcolor="1" isinstance="0" xmi.id="4080" showstereotype="1" font="Arial,10,-1,5,50,0,0,0,0,0" linecolor="#000000" />
     <notewidget usesdiagramfillcolour="1" width="129" usesdiagramusefillcolour="1" x="828" y="596" linewidth="none" fillcolour="none" height="69" usefillcolor="1" isinstance="0" xmi.id="4300" showstereotype="1" text="nntpbackup.cc" font="Arial,10,-1,5,50,0,0,0,0,0" linecolor="none" />
     <notewidget usesdiagramfillcolour="1" width="129" usesdiagramusefillcolour="1" x="820" y="358" linewidth="none" fillcolour="none" height="71" usefillcolor="1" isinstance="0" xmi.id="4310" showstereotype="1" text="nntp_client.cc" font="Arial,10,-1,5,50,0,0,0,0,0" linecolor="none" />
     <boxwidget usesdiagramfillcolour="1" width="981" usesdiagramusefillcolour="1" x="3" y="6" linewidth="none" fillcolour="none" height="691" usefillcolor="1" isinstance="0" xmi.id="4557" showstereotype="1" font="Arial,10,-1,5,50,0,0,0,0,0" linecolor="#000000" />
    </widgets>
    <messages/>
    <associations>
     <assocwidget totalcounta="3" indexa="1" visibilityB="200" totalcountb="2" indexb="1" linewidth="none" widgetbid="3543" widgetaid="3647" xmi.id="3660" type="510" changeabilityA="900" changeabilityB="900" linecolor="none" visibilityA="200" >
      <linepath>
       <startpoint startx="575" starty="105" />
       <endpoint endx="507" endy="105" />
      </linepath>
      <floatingtext usesdiagramfillcolour="1" width="47" usesdiagramusefillcolour="1" x="518" y="76" linewidth="none" posttext="" role="710" fillcolour="none" height="24" usefillcolor="1" pretext="+" isinstance="0" xmi.id="4603" text="_tcp" font="Arial,10,-1,5,50,0,0,0,0,0" linecolor="none" />
     </assocwidget>
     <assocwidget totalcounta="3" indexa="2" visibilityB="200" totalcountb="2" indexb="1" linewidth="none" widgetbid="3573" widgetaid="3647" xmi.id="3661" type="510" changeabilityA="900" changeabilityB="900" linecolor="none" visibilityA="200" >
      <linepath>
       <startpoint startx="575" starty="165" />
       <endpoint endx="507" endy="309" />
      </linepath>
      <floatingtext usesdiagramfillcolour="1" width="55" usesdiagramusefillcolour="1" x="534" y="262" linewidth="none" posttext="" role="710" fillcolour="none" height="24" usefillcolor="1" pretext="+" isinstance="0" xmi.id="4604" text="_nntp" font="Arial,10,-1,5,50,0,0,0,0,0" linecolor="none" />
     </assocwidget>
     <assocwidget totalcounta="2" indexa="1" totalcountb="2" indexb="1" linewidth="none" widgetbid="3647" widgetaid="3688" xmi.id="3689" linecolor="none" >
      <linepath>
       <startpoint startx="763" starty="502" />
       <endpoint endx="763" endy="225" />
      </linepath>
     </assocwidget>
    </associations>
   </diagram>
  </diagrams>
  <listview>
   <listitem open="1" type="800" label="Pohledy" >
    <listitem open="1" type="801" label="Logický pohled" >
     <listitem open="0" type="813" id="3664" >
      <listitem open="0" type="813" id="3669" >
       <listitem open="0" type="814" id="3673" />
       <listitem open="0" type="815" id="3674" />
      </listitem>
      <listitem open="0" type="813" id="3665" />
      <listitem open="0" type="814" id="3684" />
      <listitem open="0" type="814" id="3685" />
      <listitem open="0" type="814" id="3687" />
      <listitem open="0" type="815" id="3676" />
      <listitem open="0" type="815" id="3680" />
      <listitem open="0" type="815" id="3681" />
      <listitem open="0" type="815" id="3682" />
     </listitem>
     <listitem open="0" type="813" id="3601" />
     <listitem open="0" type="813" id="3546" />
     <listitem open="0" type="813" id="3541" />
     <listitem open="0" type="813" id="3688" >
      <listitem open="0" type="813" id="3692" >
       <listitem open="0" type="814" id="3696" />
       <listitem open="0" type="815" id="3697" />
      </listitem>
      <listitem open="0" type="815" id="3699" />
      <listitem open="0" type="815" id="3702" />
     </listitem>
     <listitem open="0" type="813" id="3647" >
      <listitem open="0" type="814" id="3649" />
      <listitem open="0" type="814" id="3660" />
      <listitem open="0" type="814" id="3661" />
      <listitem open="0" type="814" id="3662" />
      <listitem open="0" type="815" id="3650" />
      <listitem open="0" type="815" id="3653" />
      <listitem open="0" type="815" id="3654" />
      <listitem open="0" type="815" id="3656" />
     </listitem>
     <listitem open="0" type="813" id="3573" >
      <listitem open="0" type="813" id="3593" >
       <listitem open="0" type="814" id="3599" />
       <listitem open="0" type="815" id="3594" />
       <listitem open="0" type="815" id="3595" />
      </listitem>
      <listitem open="0" type="813" id="3609" >
       <listitem open="0" type="815" id="3613" />
       <listitem open="0" type="815" id="3614" />
      </listitem>
      <listitem open="0" type="813" id="3600" >
       <listitem open="0" type="815" id="3605" />
       <listitem open="0" type="815" id="3607" />
      </listitem>
      <listitem open="0" type="813" id="3616" >
       <listitem open="0" type="815" id="3620" />
       <listitem open="0" type="815" id="3621" />
      </listitem>
      <listitem open="0" type="813" id="3623" >
       <listitem open="0" type="815" id="3627" />
       <listitem open="0" type="815" id="3628" />
      </listitem>
      <listitem open="0" type="813" id="3586" >
       <listitem open="0" type="814" id="3590" />
       <listitem open="0" type="815" id="3591" />
      </listitem>
      <listitem open="0" type="813" id="3574" />
      <listitem open="0" type="813" id="3582" />
      <listitem open="0" type="813" id="3578" />
      <listitem open="0" type="814" id="3631" />
      <listitem open="0" type="814" id="3632" />
      <listitem open="0" type="814" id="3643" />
      <listitem open="0" type="814" id="3644" />
      <listitem open="0" type="814" id="3645" />
      <listitem open="0" type="815" id="3633" />
      <listitem open="0" type="815" id="3635" />
      <listitem open="0" type="815" id="3636" />
      <listitem open="0" type="815" id="3640" />
      <listitem open="0" type="815" id="3641" />
      <listitem open="0" type="815" id="3646" />
     </listitem>
     <listitem open="0" type="813" id="3539" />
     <listitem open="0" type="813" id="3543" >
      <listitem open="0" type="813" id="3544" />
      <listitem open="0" type="813" id="3545" />
      <listitem open="0" type="813" id="3550" />
      <listitem open="0" type="813" id="3554" />
      <listitem open="0" type="814" id="3571" />
      <listitem open="0" type="814" id="3572" />
      <listitem open="0" type="815" id="3558" />
      <listitem open="0" type="815" id="3564" />
      <listitem open="0" type="815" id="3565" />
      <listitem open="0" type="815" id="3568" />
     </listitem>
     <listitem open="0" type="813" id="3561" />
     <listitem open="0" type="818" id="3597" >
      <listitem open="0" type="813" id="3657" />
      <listitem open="0" type="813" id="3598" />
     </listitem>
     <listitem open="0" type="830" label="Datové typy" >
      <listitem open="0" type="829" id="3637" />
      <listitem open="0" type="829" id="3639" />
      <listitem open="0" type="829" id="3542" />
      <listitem open="0" type="829" id="3538" />
      <listitem open="0" type="829" id="3567" />
      <listitem open="1" type="829" id="3529" />
      <listitem open="1" type="829" id="3528" />
      <listitem open="0" type="829" id="3678" />
      <listitem open="0" type="829" id="3686" />
      <listitem open="0" type="829" id="3559" />
      <listitem open="0" type="829" id="3630" />
      <listitem open="0" type="829" id="3569" />
      <listitem open="0" type="829" id="3648" />
      <listitem open="1" type="829" id="3531" />
      <listitem open="1" type="829" id="3530" />
      <listitem open="1" type="829" id="3526" />
      <listitem open="1" type="829" id="3533" />
      <listitem open="1" type="829" id="3532" />
      <listitem open="0" type="829" id="3658" />
      <listitem open="1" type="829" id="3537" />
      <listitem open="1" type="829" id="3534" />
      <listitem open="1" type="829" id="3536" />
      <listitem open="1" type="829" id="3535" />
      <listitem open="0" type="829" id="3663" />
     </listitem>
    </listitem>
    <listitem open="1" type="802" label="Pohled případu užití" />
    <listitem open="1" type="821" label="Komponentový pohled" />
    <listitem open="1" type="827" label="Pohled nasazení" />
    <listitem open="1" type="836" label="Entity Relationship Model" />
   </listitem>
  </listview>
  <codegeneration>
   <codegenerator language="C++" />
  </codegeneration>
 </XMI.extensions>
</XMI>