Documenting BUrl class


#1

I want to learn how to document classes in Haiku.I want to try it on BUrl class. I have started working on the same. I want guidelines to work on. Currently I am looking into https://www.haiku-os.org/docs/api/apidoc.html


#2
Haiku BUrl class API Documentation

/*
 * Copyright 2010-2018 Haiku, Inc. All rights reserved.
 * Distributed under the terms of the MIT License.
 *
 * Authors:
 *      Nabanita Dash, dashnabanita@gmail.com
 *
 * Proofreaders:
 *      Adrien Destugues, pulkomandy@gmail.com
 *
 * Corresponds to:
 *      headers/os/support/Url.h
 */

/*!
	\file Url.h
	\ingroup support
	\ingroup libbe
	\brief Provides the BUrl class
*/

/*!
	\file Archivable.h
	\ingroup support
	\ingroup libbe
	\brief Provides the BArchivable interface and declares the BArchiver and
	       BUnarchiver classes.
*/

/*!
	\file Message.h
	\ingroup app
	\ingroup libbe
	\brief Provides the BMessage class.
*/

/*!
	\file Path.h
	\ingroup storage
	\ingroup libbe
	\brief Provides the BPath class.
*/

/*!
	\file String.h
	\ingroup support
	\ingroup libbe
	\brief Defines the BString class and global operators and functions for
	       handling strings.
*/

/*!
	\class BUrl
	\ingroup support
	\ingroup libbe
	\brief Class which provides references to web pages,used for 
	       file transfer,email,database access.

	BUrl is the BeOS Uniform Resource Locator which transfers reference 
	to a web resource that specifies its location on a computer network
	and	a mechanism to retrieve data from it.For example: 
	http://www.example.com/index.html indicates a protocol (http), a 
	hostname (www.example.com), and a file name (index.html).

    Every BUrl consists of a sequence of five components. i.e.,
    Protocol,authority(consisting of userinfo(user,password),
    host,port),path,request and fragment.Protocol like http,https,ftp,
    irc,etc are used.Authority consists of userinfo such as username and 
    password,a host subcomponent consisting of IP address and a port 
    subcomponent.A path component consists of sequence of path segments.
    A request component preceeded by a question mark contains a query 
    string of non-hierarchial data.The fragment contains a fragment 
    identifier providing direction to a secondary resource,The fragment 
    is an id attribute of a specific element.  
*/

/*!
	\name Constructors and destructor
*/

//! @{

/*!
		\fn BUrl::BUrl(const char* url);
        \brief Constructs a BUrl and fills it.

        \param url A string that will be accepted as the address of the 
        website.
*/

/*!
		\fn BUrl::BUrl(BMessage* archive);
		\brief Constructs a BUrl and fills it.

		\param archive A message that contains information about BUrl.
*/

/*!
		\fn BUrl::BUrl(const BUrl& other);
		\brief Constructs a BUrl and fills it.

		\param other A BUrl object that holds other url.
*/

/*!	
		\fn BUrl::BUrl(const BUrl& base, const BString& relative);
        \brief Constructs a BUrl and fills it.

        \param base A BUrl object that holds base url.

        \param relative A BString object. #add more
*/

/*!
		\fn BUrl::BUrl(const BPath& path);
		\brief Constructs a BUrl and fills it.

		\param path A BPath object that conatins path of the url.
*/

/*!
		\fn BUrl::BUrl();
		\brief Constructs an empty BUrl.
*/

/*!
		\fn BUrl::~BUrl();
		\brief Deletes this BUrl.

		The BUrl that is deleted is the empty BUrl.
*/

//! @}

/*!
		\name URL fields modifiers
*/

//! @{

/*!
		\fn BUrl& BUrl::SetUrlString(const BString& url);
		\brief Accepts a url as a string.

		\param url A constant BString url is accepted as a string.
*/

/*!
		\fn BUrl& BUrl::SetProtocol(const BString& scheme);
		\brief Accepts the protocol of the url as a string.

		\param scheme A constant BString scheme is accepted as a string. 			
*/

/*!
		\fn BUrl& BUrl::SetUserName(const BString& user);
		\brief Accepts username in the url as a string.

		\param user A constant BString username is accepted as a string.
*/

/*!
		\fn BUrl& BUrl::SetPassword(const BString& password);
		\brief Accepts password of the user as a string.

		\param password A constant BString password is accepted as a string.


#3

The above is incomplete. I don’t know about most of the functions and please tell me where to understand the functions


#4

Please submit patches at review.haiku-os.org, not here.