<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<title>Index (Openmeetings Webservices 6.3.0 API)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="jquery/jquery-ui.css" title="Style">
<script type="text/javascript" src="script.js"></script>
<script type="text/javascript" src="jquery/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="jquery/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="jquery/jquery-3.5.1.js"></script>
<script type="text/javascript" src="jquery/jquery-ui.js"></script>
</head>
<body>
<script type="text/javascript"><!--
    try {
        if (location.href.indexOf('is-external=true') == -1) {
            parent.document.title="Index (Openmeetings Webservices 6.3.0 API)";
        }
    }
    catch(err) {
    }
//-->
var pathtoroot = "./";
var useModuleDirectories = true;
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<div class="fixedNav">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="index.html">Overview</a></li>
<li>Package</li>
<li>Class</li>
<li>Use</li>
<li><a href="overview-tree.html">Tree</a></li>
<li><a href="deprecated-list.html">Deprecated</a></li>
<li class="navBarCell1Rev">Index</li>
<li><a href="help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_top">
<li><a href="allclasses.html">All&nbsp;Classes</a></li>
</ul>
<ul class="navListSearch">
<li><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<a id="skip.navbar.top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</div>
<script type="text/javascript"><!--
$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
//-->
</script>
</nav>
</header>
<main role="main">
<div class="contentContainer"><a href="#I:A">A</a>&nbsp;<a href="#I:B">B</a>&nbsp;<a href="#I:C">C</a>&nbsp;<a href="#I:D">D</a>&nbsp;<a href="#I:E">E</a>&nbsp;<a href="#I:F">F</a>&nbsp;<a href="#I:G">G</a>&nbsp;<a href="#I:H">H</a>&nbsp;<a href="#I:I">I</a>&nbsp;<a href="#I:J">J</a>&nbsp;<a href="#I:K">K</a>&nbsp;<a href="#I:L">L</a>&nbsp;<a href="#I:M">M</a>&nbsp;<a href="#I:N">N</a>&nbsp;<a href="#I:O">O</a>&nbsp;<a href="#I:P">P</a>&nbsp;<a href="#I:R">R</a>&nbsp;<a href="#I:S">S</a>&nbsp;<a href="#I:T">T</a>&nbsp;<a href="#I:U">U</a>&nbsp;<a href="#I:V">V</a>&nbsp;<a href="#I:W">W</a>&nbsp;<br><a href="allclasses-index.html">All&nbsp;Classes</a>&nbsp;<a href="allpackages-index.html">All&nbsp;Packages</a><a id="I:A">
<!--   -->
</a>
<h2 class="title">A</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/GroupWebService.html#add(java.lang.String,java.lang.String)">add(String, String)</a></span> - Method in class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/GroupWebService.html" title="class in org.apache.openmeetings.webservice">GroupWebService</a></dt>
<dd>
<div class="block">add a new group</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/FileWebService.html#add(java.lang.String,org.apache.openmeetings.db.dto.file.FileItemDTO,java.io.InputStream)">add(String, FileItemDTO, InputStream)</a></span> - Method in class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/FileWebService.html" title="class in org.apache.openmeetings.webservice">FileWebService</a></dt>
<dd>
<div class="block">to add a folder to the private drive, set parentId = 0 and isOwner to 1/true and
 externalUserId/externalUserType to a valid USER</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/RoomWebService.html#add(java.lang.String,org.apache.openmeetings.db.dto.room.RoomDTO)">add(String, RoomDTO)</a></span> - Method in class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/RoomWebService.html" title="class in org.apache.openmeetings.webservice">RoomWebService</a></dt>
<dd>
<div class="block">Adds a new ROOM like through the Frontend</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/UserWebService.html#add(java.lang.String,org.apache.openmeetings.db.dto.user.UserDTO,java.lang.Boolean)">add(String, UserDTO, Boolean)</a></span> - Method in class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/UserWebService.html" title="class in org.apache.openmeetings.webservice">UserWebService</a></dt>
<dd>
<div class="block">Adds a new User like through the Frontend, but also does activates the
 Account To do SSO see the methods to create a hash and use those ones!</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/GroupWebService.html#addRoom(java.lang.String,java.lang.Long,java.lang.Long)">addRoom(String, Long, Long)</a></span> - Method in class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/GroupWebService.html" title="class in org.apache.openmeetings.webservice">GroupWebService</a></dt>
<dd>
<div class="block">Adds a room to an group</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/GroupWebService.html#addUser(java.lang.String,java.lang.Long,java.lang.Long)">addUser(String, Long, Long)</a></span> - Method in class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/GroupWebService.html" title="class in org.apache.openmeetings.webservice">GroupWebService</a></dt>
<dd>
<div class="block">Add USER to a certain group</div>
</dd>
<dt><a href="org/apache/openmeetings/webservice/util/AllowOriginProvider.html" title="class in org.apache.openmeetings.webservice.util"><span class="typeNameLink">AllowOriginProvider</span></a> - Class in <a href="org/apache/openmeetings/webservice/util/package-summary.html">org.apache.openmeetings.webservice.util</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/util/AllowOriginProvider.html#%3Cinit%3E()">AllowOriginProvider()</a></span> - Constructor for class org.apache.openmeetings.webservice.util.<a href="org/apache/openmeetings/webservice/util/AllowOriginProvider.html" title="class in org.apache.openmeetings.webservice.util">AllowOriginProvider</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/openmeetings/webservice/schema/AppointmentDTOListWrapper.html" title="class in org.apache.openmeetings.webservice.schema"><span class="typeNameLink">AppointmentDTOListWrapper</span></a> - Class in <a href="org/apache/openmeetings/webservice/schema/package-summary.html">org.apache.openmeetings.webservice.schema</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/schema/AppointmentDTOListWrapper.html#%3Cinit%3E()">AppointmentDTOListWrapper()</a></span> - Constructor for class org.apache.openmeetings.webservice.schema.<a href="org/apache/openmeetings/webservice/schema/AppointmentDTOListWrapper.html" title="class in org.apache.openmeetings.webservice.schema">AppointmentDTOListWrapper</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/openmeetings/webservice/schema/AppointmentDTOWrapper.html" title="class in org.apache.openmeetings.webservice.schema"><span class="typeNameLink">AppointmentDTOWrapper</span></a> - Class in <a href="org/apache/openmeetings/webservice/schema/package-summary.html">org.apache.openmeetings.webservice.schema</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/schema/AppointmentDTOWrapper.html#%3Cinit%3E()">AppointmentDTOWrapper()</a></span> - Constructor for class org.apache.openmeetings.webservice.schema.<a href="org/apache/openmeetings/webservice/schema/AppointmentDTOWrapper.html" title="class in org.apache.openmeetings.webservice.schema">AppointmentDTOWrapper</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/openmeetings/webservice/util/AppointmentListMessageBodyWriter.html" title="class in org.apache.openmeetings.webservice.util"><span class="typeNameLink">AppointmentListMessageBodyWriter</span></a> - Class in <a href="org/apache/openmeetings/webservice/util/package-summary.html">org.apache.openmeetings.webservice.util</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/util/AppointmentListMessageBodyWriter.html#%3Cinit%3E()">AppointmentListMessageBodyWriter()</a></span> - Constructor for class org.apache.openmeetings.webservice.util.<a href="org/apache/openmeetings/webservice/util/AppointmentListMessageBodyWriter.html" title="class in org.apache.openmeetings.webservice.util">AppointmentListMessageBodyWriter</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/openmeetings/webservice/util/AppointmentMessageBodyReader.html" title="class in org.apache.openmeetings.webservice.util"><span class="typeNameLink">AppointmentMessageBodyReader</span></a> - Class in <a href="org/apache/openmeetings/webservice/util/package-summary.html">org.apache.openmeetings.webservice.util</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/util/AppointmentMessageBodyReader.html#%3Cinit%3E()">AppointmentMessageBodyReader()</a></span> - Constructor for class org.apache.openmeetings.webservice.util.<a href="org/apache/openmeetings/webservice/util/AppointmentMessageBodyReader.html" title="class in org.apache.openmeetings.webservice.util">AppointmentMessageBodyReader</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/openmeetings/webservice/util/AppointmentMessageBodyWriter.html" title="class in org.apache.openmeetings.webservice.util"><span class="typeNameLink">AppointmentMessageBodyWriter</span></a> - Class in <a href="org/apache/openmeetings/webservice/util/package-summary.html">org.apache.openmeetings.webservice.util</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/util/AppointmentMessageBodyWriter.html#%3Cinit%3E()">AppointmentMessageBodyWriter()</a></span> - Constructor for class org.apache.openmeetings.webservice.util.<a href="org/apache/openmeetings/webservice/util/AppointmentMessageBodyWriter.html" title="class in org.apache.openmeetings.webservice.util">AppointmentMessageBodyWriter</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/openmeetings/webservice/util/AppointmentParamConverter.html" title="class in org.apache.openmeetings.webservice.util"><span class="typeNameLink">AppointmentParamConverter</span></a> - Class in <a href="org/apache/openmeetings/webservice/util/package-summary.html">org.apache.openmeetings.webservice.util</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/util/AppointmentParamConverter.html#%3Cinit%3E()">AppointmentParamConverter()</a></span> - Constructor for class org.apache.openmeetings.webservice.util.<a href="org/apache/openmeetings/webservice/util/AppointmentParamConverter.html" title="class in org.apache.openmeetings.webservice.util">AppointmentParamConverter</a></dt>
<dd>&nbsp;</dd>
</dl>
<a id="I:B">
<!--   -->
</a>
<h2 class="title">B</h2>
<dl>
<dt><a href="org/apache/openmeetings/webservice/BaseWebService.html" title="class in org.apache.openmeetings.webservice"><span class="typeNameLink">BaseWebService</span></a> - Class in <a href="org/apache/openmeetings/webservice/package-summary.html">org.apache.openmeetings.webservice</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/BaseWebService.html#%3Cinit%3E()">BaseWebService()</a></span> - Constructor for class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/BaseWebService.html" title="class in org.apache.openmeetings.webservice">BaseWebService</a></dt>
<dd>&nbsp;</dd>
</dl>
<a id="I:C">
<!--   -->
</a>
<h2 class="title">C</h2>
<dl>
<dt><a href="org/apache/openmeetings/webservice/util/CalendarParamConverter.html" title="class in org.apache.openmeetings.webservice.util"><span class="typeNameLink">CalendarParamConverter</span></a> - Class in <a href="org/apache/openmeetings/webservice/util/package-summary.html">org.apache.openmeetings.webservice.util</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/util/CalendarParamConverter.html#%3Cinit%3E()">CalendarParamConverter()</a></span> - Constructor for class org.apache.openmeetings.webservice.util.<a href="org/apache/openmeetings/webservice/util/CalendarParamConverter.html" title="class in org.apache.openmeetings.webservice.util">CalendarParamConverter</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/openmeetings/webservice/CalendarWebService.html" title="class in org.apache.openmeetings.webservice"><span class="typeNameLink">CalendarWebService</span></a> - Class in <a href="org/apache/openmeetings/webservice/package-summary.html">org.apache.openmeetings.webservice</a></dt>
<dd>
<div class="block">CalendarService contains methods to create, edit delete calendar meetings</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/CalendarWebService.html#%3Cinit%3E()">CalendarWebService()</a></span> - Constructor for class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/CalendarWebService.html" title="class in org.apache.openmeetings.webservice">CalendarWebService</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/WbWebService.html#cleanSlide(java.lang.String,long,long,int)">cleanSlide(String, long, long, int)</a></span> - Method in class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/WbWebService.html" title="class in org.apache.openmeetings.webservice">WbWebService</a></dt>
<dd>
<div class="block">This method will do the same as clean slide in the room (except for there will be no UNDO)</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/RoomWebService.html#cleanWb(java.lang.String,long)">cleanWb(String, long)</a></span> - Method in class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/RoomWebService.html" title="class in org.apache.openmeetings.webservice">RoomWebService</a></dt>
<dd>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">please use <a href="org/apache/openmeetings/webservice/WbWebService.html#resetWb(java.lang.String,long)"><code>WbWebService.resetWb(String, long)</code></a> method instead

 Method to clean room white board (all objects will be purged)</div>
</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/WbWebService.html#cleanWb(java.lang.String,long,long)">cleanWb(String, long, long)</a></span> - Method in class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/WbWebService.html" title="class in org.apache.openmeetings.webservice">WbWebService</a></dt>
<dd>
<div class="block">This method will do the same as clean WB in the room (except for there will be no UNDO)</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/NetTestWebService.html#CLIENT_COUNT">CLIENT_COUNT</a></span> - Static variable in class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/NetTestWebService.html" title="class in org.apache.openmeetings.webservice">NetTestWebService</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/RoomWebService.html#close(java.lang.String,long)">close(String, long)</a></span> - Method in class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/RoomWebService.html" title="class in org.apache.openmeetings.webservice">RoomWebService</a></dt>
<dd>
<div class="block">Method to remotely close rooms.</div>
</dd>
<dt><a href="org/apache/openmeetings/webservice/Constants.html" title="class in org.apache.openmeetings.webservice"><span class="typeNameLink">Constants</span></a> - Class in <a href="org/apache/openmeetings/webservice/package-summary.html">org.apache.openmeetings.webservice</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/RoomWebService.html#count(java.lang.String,java.lang.Long)">count(String, Long)</a></span> - Method in class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/RoomWebService.html" title="class in org.apache.openmeetings.webservice">RoomWebService</a></dt>
<dd>
<div class="block">Returns the count of users currently in the ROOM with given id</div>
</dd>
</dl>
<a id="I:D">
<!--   -->
</a>
<h2 class="title">D</h2>
<dl>
<dt><a href="org/apache/openmeetings/webservice/util/DateParamConverter.html" title="class in org.apache.openmeetings.webservice.util"><span class="typeNameLink">DateParamConverter</span></a> - Class in <a href="org/apache/openmeetings/webservice/util/package-summary.html">org.apache.openmeetings.webservice.util</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/util/DateParamConverter.html#%3Cinit%3E()">DateParamConverter()</a></span> - Constructor for class org.apache.openmeetings.webservice.util.<a href="org/apache/openmeetings/webservice/util/DateParamConverter.html" title="class in org.apache.openmeetings.webservice.util">DateParamConverter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/GroupWebService.html#delete(java.lang.String,long)">delete(String, long)</a></span> - Method in class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/GroupWebService.html" title="class in org.apache.openmeetings.webservice">GroupWebService</a></dt>
<dd>
<div class="block">Deletes a group</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/RoomWebService.html#delete(java.lang.String,long)">delete(String, long)</a></span> - Method in class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/RoomWebService.html" title="class in org.apache.openmeetings.webservice">RoomWebService</a></dt>
<dd>
<div class="block">Delete a room by its room id</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/UserWebService.html#delete(java.lang.String,long)">delete(String, long)</a></span> - Method in class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/UserWebService.html" title="class in org.apache.openmeetings.webservice">UserWebService</a></dt>
<dd>
<div class="block">Delete a certain user by its id</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/CalendarWebService.html#delete(java.lang.String,java.lang.Long)">delete(String, Long)</a></span> - Method in class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/CalendarWebService.html" title="class in org.apache.openmeetings.webservice">CalendarWebService</a></dt>
<dd>
<div class="block">delete a calendar event

 If the given sid is from an Administrator or Web-Service USER, the USER
 can delete any appointment.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/FileWebService.html#delete(java.lang.String,java.lang.Long)">delete(String, Long)</a></span> - Method in class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/FileWebService.html" title="class in org.apache.openmeetings.webservice">FileWebService</a></dt>
<dd>
<div class="block">deletes files or folders based on it id</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/RecordingWebService.html#delete(java.lang.String,java.lang.Long)">delete(String, Long)</a></span> - Method in class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/RecordingWebService.html" title="class in org.apache.openmeetings.webservice">RecordingWebService</a></dt>
<dd>
<div class="block">Deletes a recording</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/FileWebService.html#deleteExternal(java.lang.String,java.lang.String,java.lang.String)">deleteExternal(String, String, String)</a></span> - Method in class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/FileWebService.html" title="class in org.apache.openmeetings.webservice">FileWebService</a></dt>
<dd>
<div class="block">deletes a file by its external Id and type</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/UserWebService.html#deleteExternal(java.lang.String,java.lang.String,java.lang.String)">deleteExternal(String, String, String)</a></span> - Method in class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/UserWebService.html" title="class in org.apache.openmeetings.webservice">UserWebService</a></dt>
<dd>
<div class="block">Delete a certain user by its external user id</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/NetTestWebService.TestType.html#DOWNLOAD_SPEED">DOWNLOAD_SPEED</a></span> - org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/NetTestWebService.TestType.html" title="enum in org.apache.openmeetings.webservice">NetTestWebService.TestType</a></dt>
<dd>&nbsp;</dd>
</dl>
<a id="I:E">
<!--   -->
</a>
<h2 class="title">E</h2>
<dl>
<dt><a href="org/apache/openmeetings/webservice/ErrorWebService.html" title="class in org.apache.openmeetings.webservice"><span class="typeNameLink">ErrorWebService</span></a> - Class in <a href="org/apache/openmeetings/webservice/package-summary.html">org.apache.openmeetings.webservice</a></dt>
<dd>
<div class="block">The Service contains methods to get localized errors</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/ErrorWebService.html#%3Cinit%3E()">ErrorWebService()</a></span> - Constructor for class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/ErrorWebService.html" title="class in org.apache.openmeetings.webservice">ErrorWebService</a></dt>
<dd>&nbsp;</dd>
</dl>
<a id="I:F">
<!--   -->
</a>
<h2 class="title">F</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/BaseWebService.html#fileDao">fileDao</a></span> - Variable in class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/BaseWebService.html" title="class in org.apache.openmeetings.webservice">BaseWebService</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/openmeetings/webservice/schema/FileExplorerObjectWrapper.html" title="class in org.apache.openmeetings.webservice.schema"><span class="typeNameLink">FileExplorerObjectWrapper</span></a> - Class in <a href="org/apache/openmeetings/webservice/schema/package-summary.html">org.apache.openmeetings.webservice.schema</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/schema/FileExplorerObjectWrapper.html#%3Cinit%3E()">FileExplorerObjectWrapper()</a></span> - Constructor for class org.apache.openmeetings.webservice.schema.<a href="org/apache/openmeetings/webservice/schema/FileExplorerObjectWrapper.html" title="class in org.apache.openmeetings.webservice.schema">FileExplorerObjectWrapper</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/openmeetings/webservice/schema/FileItemDTOListWrapper.html" title="class in org.apache.openmeetings.webservice.schema"><span class="typeNameLink">FileItemDTOListWrapper</span></a> - Class in <a href="org/apache/openmeetings/webservice/schema/package-summary.html">org.apache.openmeetings.webservice.schema</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/schema/FileItemDTOListWrapper.html#%3Cinit%3E()">FileItemDTOListWrapper()</a></span> - Constructor for class org.apache.openmeetings.webservice.schema.<a href="org/apache/openmeetings/webservice/schema/FileItemDTOListWrapper.html" title="class in org.apache.openmeetings.webservice.schema">FileItemDTOListWrapper</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/openmeetings/webservice/schema/FileItemDTOWrapper.html" title="class in org.apache.openmeetings.webservice.schema"><span class="typeNameLink">FileItemDTOWrapper</span></a> - Class in <a href="org/apache/openmeetings/webservice/schema/package-summary.html">org.apache.openmeetings.webservice.schema</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/schema/FileItemDTOWrapper.html#%3Cinit%3E()">FileItemDTOWrapper()</a></span> - Constructor for class org.apache.openmeetings.webservice.schema.<a href="org/apache/openmeetings/webservice/schema/FileItemDTOWrapper.html" title="class in org.apache.openmeetings.webservice.schema">FileItemDTOWrapper</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/openmeetings/webservice/FileWebService.html" title="class in org.apache.openmeetings.webservice"><span class="typeNameLink">FileWebService</span></a> - Class in <a href="org/apache/openmeetings/webservice/package-summary.html">org.apache.openmeetings.webservice</a></dt>
<dd>
<div class="block">Contains methods to import and upload files into the Files section of the
 conference room and the personal drive of any USER</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/FileWebService.html#%3Cinit%3E()">FileWebService()</a></span> - Constructor for class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/FileWebService.html" title="class in org.apache.openmeetings.webservice">FileWebService</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/util/RateLimitRequestFilter.html#filter(javax.ws.rs.container.ContainerRequestContext)">filter(ContainerRequestContext)</a></span> - Method in class org.apache.openmeetings.webservice.util.<a href="org/apache/openmeetings/webservice/util/RateLimitRequestFilter.html" title="class in org.apache.openmeetings.webservice.util">RateLimitRequestFilter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/util/AppointmentParamConverter.html#fromString(java.lang.String)">fromString(String)</a></span> - Method in class org.apache.openmeetings.webservice.util.<a href="org/apache/openmeetings/webservice/util/AppointmentParamConverter.html" title="class in org.apache.openmeetings.webservice.util">AppointmentParamConverter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/util/CalendarParamConverter.html#fromString(java.lang.String)">fromString(String)</a></span> - Method in class org.apache.openmeetings.webservice.util.<a href="org/apache/openmeetings/webservice/util/CalendarParamConverter.html" title="class in org.apache.openmeetings.webservice.util">CalendarParamConverter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/util/DateParamConverter.html#fromString(java.lang.String)">fromString(String)</a></span> - Method in class org.apache.openmeetings.webservice.util.<a href="org/apache/openmeetings/webservice/util/DateParamConverter.html" title="class in org.apache.openmeetings.webservice.util">DateParamConverter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/util/UserParamConverter.html#fromString(java.lang.String)">fromString(String)</a></span> - Method in class org.apache.openmeetings.webservice.util.<a href="org/apache/openmeetings/webservice/util/UserParamConverter.html" title="class in org.apache.openmeetings.webservice.util">UserParamConverter</a></dt>
<dd>&nbsp;</dd>
</dl>
<a id="I:G">
<!--   -->
</a>
<h2 class="title">G</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/GroupWebService.html#get(java.lang.String)">get(String)</a></span> - Method in class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/GroupWebService.html" title="class in org.apache.openmeetings.webservice">GroupWebService</a></dt>
<dd>
<div class="block">Get the list of all groups</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/UserWebService.html#get(java.lang.String)">get(String)</a></span> - Method in class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/UserWebService.html" title="class in org.apache.openmeetings.webservice">UserWebService</a></dt>
<dd>
<div class="block">Lists all users in the system!</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/util/DateParamConverter.html#get(java.lang.String)">get(String)</a></span> - Static method in class org.apache.openmeetings.webservice.util.<a href="org/apache/openmeetings/webservice/util/DateParamConverter.html" title="class in org.apache.openmeetings.webservice.util">DateParamConverter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/NetTestWebService.html#get(java.lang.String,int)">get(String, int)</a></span> - Method in class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/NetTestWebService.html" title="class in org.apache.openmeetings.webservice">NetTestWebService</a></dt>
<dd>
<div class="block">Generate a sample for network test</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/ErrorWebService.html#get(java.lang.String,long)">get(String, long)</a></span> - Method in class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/ErrorWebService.html" title="class in org.apache.openmeetings.webservice">ErrorWebService</a></dt>
<dd>
<div class="block">loads an Error-Object.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/util/CalendarParamConverter.html#get(java.lang.String,java.lang.String)">get(String, String)</a></span> - Static method in class org.apache.openmeetings.webservice.util.<a href="org/apache/openmeetings/webservice/util/CalendarParamConverter.html" title="class in org.apache.openmeetings.webservice.util">CalendarParamConverter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/FileWebService.html#getAllExternal(java.lang.String,java.lang.String)">getAllExternal(String, String)</a></span> - Method in class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/FileWebService.html" title="class in org.apache.openmeetings.webservice">FileWebService</a></dt>
<dd>
<div class="block">Get all files by external type</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/schema/AppointmentDTOListWrapper.html#getAppointmentDTO()">getAppointmentDTO()</a></span> - Method in class org.apache.openmeetings.webservice.schema.<a href="org/apache/openmeetings/webservice/schema/AppointmentDTOListWrapper.html" title="class in org.apache.openmeetings.webservice.schema">AppointmentDTOListWrapper</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/schema/AppointmentDTOWrapper.html#getAppointmentDTO()">getAppointmentDTO()</a></span> - Method in class org.apache.openmeetings.webservice.schema.<a href="org/apache/openmeetings/webservice/schema/AppointmentDTOWrapper.html" title="class in org.apache.openmeetings.webservice.schema">AppointmentDTOWrapper</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/CalendarWebService.html#getByRoom(java.lang.String,long)">getByRoom(String, long)</a></span> - Method in class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/CalendarWebService.html" title="class in org.apache.openmeetings.webservice">CalendarWebService</a></dt>
<dd>
<div class="block">Load a calendar event by its room id</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/CalendarWebService.html#getByTitle(java.lang.String,java.lang.String)">getByTitle(String, String)</a></span> - Method in class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/CalendarWebService.html" title="class in org.apache.openmeetings.webservice">CalendarWebService</a></dt>
<dd>
<div class="block">Search a calendar event for the current SID</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/util/OmParamConverterProvider.html#getConverter(java.lang.Class,java.lang.reflect.Type,java.lang.annotation.Annotation%5B%5D)">getConverter(Class&lt;T&gt;, Type, Annotation[])</a></span> - Method in class org.apache.openmeetings.webservice.util.<a href="org/apache/openmeetings/webservice/util/OmParamConverterProvider.html" title="class in org.apache.openmeetings.webservice.util">OmParamConverterProvider</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/RecordingWebService.html#getExternal(java.lang.String,java.lang.String,java.lang.String)">getExternal(String, String, String)</a></span> - Method in class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/RecordingWebService.html" title="class in org.apache.openmeetings.webservice">RecordingWebService</a></dt>
<dd>
<div class="block">Gets a list of recordings created by particular external USER</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/RoomWebService.html#getExternal(java.lang.String,java.lang.String,java.lang.String,java.lang.String,org.apache.openmeetings.db.dto.room.RoomDTO)">getExternal(String, String, String, String, RoomDTO)</a></span> - Method in class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/RoomWebService.html" title="class in org.apache.openmeetings.webservice">RoomWebService</a></dt>
<dd>
<div class="block">Checks if a room with this exteralId + externalType does exist,
 if yes it returns the room id if not, it will create the room and then
 return the room id of the newly created room</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/RecordingWebService.html#getExternalByRoom(java.lang.String,java.lang.Long)">getExternalByRoom(String, Long)</a></span> - Method in class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/RecordingWebService.html" title="class in org.apache.openmeetings.webservice">RecordingWebService</a></dt>
<dd>
<div class="block">Get list of recordings</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/RecordingWebService.html#getExternalByType(java.lang.String,java.lang.String)">getExternalByType(String, String)</a></span> - Method in class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/RecordingWebService.html" title="class in org.apache.openmeetings.webservice">RecordingWebService</a></dt>
<dd>
<div class="block">Gets a list of recordings</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/schema/FileExplorerObjectWrapper.html#getFileExplorerObject()">getFileExplorerObject()</a></span> - Method in class org.apache.openmeetings.webservice.schema.<a href="org/apache/openmeetings/webservice/schema/FileExplorerObjectWrapper.html" title="class in org.apache.openmeetings.webservice.schema">FileExplorerObjectWrapper</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/schema/FileItemDTOListWrapper.html#getFileItemDTO()">getFileItemDTO()</a></span> - Method in class org.apache.openmeetings.webservice.schema.<a href="org/apache/openmeetings/webservice/schema/FileItemDTOListWrapper.html" title="class in org.apache.openmeetings.webservice.schema">FileItemDTOListWrapper</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/schema/FileItemDTOWrapper.html#getFileItemDTO()">getFileItemDTO()</a></span> - Method in class org.apache.openmeetings.webservice.schema.<a href="org/apache/openmeetings/webservice/schema/FileItemDTOWrapper.html" title="class in org.apache.openmeetings.webservice.schema">FileItemDTOWrapper</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/schema/GroupDTOListWrapper.html#getGroupDTO()">getGroupDTO()</a></span> - Method in class org.apache.openmeetings.webservice.schema.<a href="org/apache/openmeetings/webservice/schema/GroupDTOListWrapper.html" title="class in org.apache.openmeetings.webservice.schema">GroupDTOListWrapper</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/InfoWebService.html#getHealth()">getHealth()</a></span> - Method in class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/InfoWebService.html" title="class in org.apache.openmeetings.webservice">InfoWebService</a></dt>
<dd>
<div class="block">Method to get health report for this OpenMeetings instance</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/schema/HealthWrapper.html#getHealth()">getHealth()</a></span> - Method in class org.apache.openmeetings.webservice.schema.<a href="org/apache/openmeetings/webservice/schema/HealthWrapper.html" title="class in org.apache.openmeetings.webservice.schema">HealthWrapper</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/schema/InfoWrapper.html#getInfo()">getInfo()</a></span> - Method in class org.apache.openmeetings.webservice.schema.<a href="org/apache/openmeetings/webservice/schema/InfoWrapper.html" title="class in org.apache.openmeetings.webservice.schema">InfoWrapper</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/InfoWebService.html#getManifest()">getManifest()</a></span> - Method in class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/InfoWebService.html" title="class in org.apache.openmeetings.webservice">InfoWebService</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/NetTestWebService.html#getMaxClients()">getMaxClients()</a></span> - Static method in class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/NetTestWebService.html" title="class in org.apache.openmeetings.webservice">NetTestWebService</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/RoomWebService.html#getPublic(java.lang.String,java.lang.String)">getPublic(String, String)</a></span> - Method in class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/RoomWebService.html" title="class in org.apache.openmeetings.webservice">RoomWebService</a></dt>
<dd>
<div class="block">Returns an Object of Type RoomsList which contains a list of
 ROOM-Objects.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/schema/RecordingDTOListWrapper.html#getRecordingDTO()">getRecordingDTO()</a></span> - Method in class org.apache.openmeetings.webservice.schema.<a href="org/apache/openmeetings/webservice/schema/RecordingDTOListWrapper.html" title="class in org.apache.openmeetings.webservice.schema">RecordingDTOListWrapper</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/FileWebService.html#getRoom(java.lang.String,long)">getRoom(String, long)</a></span> - Method in class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/FileWebService.html" title="class in org.apache.openmeetings.webservice">FileWebService</a></dt>
<dd>
<div class="block">Get a File Explorer Object by a given ROOM</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/RoomWebService.html#getRoomById(java.lang.String,java.lang.Long)">getRoomById(String, Long)</a></span> - Method in class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/RoomWebService.html" title="class in org.apache.openmeetings.webservice">RoomWebService</a></dt>
<dd>
<div class="block">returns a conference room object</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/FileWebService.html#getRoomByParent(java.lang.String,long,long)">getRoomByParent(String, long, long)</a></span> - Method in class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/FileWebService.html" title="class in org.apache.openmeetings.webservice">FileWebService</a></dt>
<dd>
<div class="block">Get list of <a href="https://openmeetings.apache.org/openmeetings-db/apidocs/org/apache/openmeetings/db/dto/file/FileItemDTO.html?is-external=true" title="class or interface in org.apache.openmeetings.db.dto.file" class="externalLink"><code>FileItemDTO</code></a> by parent</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/schema/RoomDTOListWrapper.html#getRoomDTO()">getRoomDTO()</a></span> - Method in class org.apache.openmeetings.webservice.schema.<a href="org/apache/openmeetings/webservice/schema/RoomDTOListWrapper.html" title="class in org.apache.openmeetings.webservice.schema">RoomDTOListWrapper</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/schema/RoomDTOWrapper.html#getRoomDTO()">getRoomDTO()</a></span> - Method in class org.apache.openmeetings.webservice.schema.<a href="org/apache/openmeetings/webservice/schema/RoomDTOWrapper.html" title="class in org.apache.openmeetings.webservice.schema">RoomDTOWrapper</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/UserWebService.html#getRoomHash(java.lang.String,org.apache.openmeetings.db.dto.user.ExternalUserDTO,org.apache.openmeetings.db.dto.room.RoomOptionsDTO)">getRoomHash(String, ExternalUserDTO, RoomOptionsDTO)</a></span> - Method in class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/UserWebService.html" title="class in org.apache.openmeetings.webservice">UserWebService</a></dt>
<dd>
<div class="block">Sets the SessionObject for a certain SID, after setting this
 Session-Object you can use the SID + a RoomId to enter any Room.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/schema/ServiceResultWrapper.html#getServiceResult()">getServiceResult()</a></span> - Method in class org.apache.openmeetings.webservice.schema.<a href="org/apache/openmeetings/webservice/schema/ServiceResultWrapper.html" title="class in org.apache.openmeetings.webservice.schema">ServiceResultWrapper</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/util/AppointmentListMessageBodyWriter.html#getSize(java.util.List,java.lang.Class,java.lang.reflect.Type,java.lang.annotation.Annotation%5B%5D,javax.ws.rs.core.MediaType)">getSize(List&lt;AppointmentDTO&gt;, Class&lt;?&gt;, Type, Annotation[], MediaType)</a></span> - Method in class org.apache.openmeetings.webservice.util.<a href="org/apache/openmeetings/webservice/util/AppointmentListMessageBodyWriter.html" title="class in org.apache.openmeetings.webservice.util">AppointmentListMessageBodyWriter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/util/AppointmentMessageBodyWriter.html#getSize(org.apache.openmeetings.db.dto.calendar.AppointmentDTO,java.lang.Class,java.lang.reflect.Type,java.lang.annotation.Annotation%5B%5D,javax.ws.rs.core.MediaType)">getSize(AppointmentDTO, Class&lt;?&gt;, Type, Annotation[], MediaType)</a></span> - Method in class org.apache.openmeetings.webservice.util.<a href="org/apache/openmeetings/webservice/util/AppointmentMessageBodyWriter.html" title="class in org.apache.openmeetings.webservice.util">AppointmentMessageBodyWriter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/util/UserMessageBodyWriter.html#getSize(org.apache.openmeetings.db.dto.user.UserDTO,java.lang.Class,java.lang.reflect.Type,java.lang.annotation.Annotation%5B%5D,javax.ws.rs.core.MediaType)">getSize(UserDTO, Class&lt;?&gt;, Type, Annotation[], MediaType)</a></span> - Method in class org.apache.openmeetings.webservice.util.<a href="org/apache/openmeetings/webservice/util/UserMessageBodyWriter.html" title="class in org.apache.openmeetings.webservice.util">UserMessageBodyWriter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/NetTestWebService.html#getTypeByString(java.lang.String)">getTypeByString(String)</a></span> - Static method in class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/NetTestWebService.html" title="class in org.apache.openmeetings.webservice">NetTestWebService</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/schema/UserDTOListWrapper.html#getUserDTO()">getUserDTO()</a></span> - Method in class org.apache.openmeetings.webservice.schema.<a href="org/apache/openmeetings/webservice/schema/UserDTOListWrapper.html" title="class in org.apache.openmeetings.webservice.schema">UserDTOListWrapper</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/schema/UserDTOWrapper.html#getUserDTO()">getUserDTO()</a></span> - Method in class org.apache.openmeetings.webservice.schema.<a href="org/apache/openmeetings/webservice/schema/UserDTOWrapper.html" title="class in org.apache.openmeetings.webservice.schema">UserDTOWrapper</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/GroupWebService.html#getUsers(java.lang.String,long,int,int,java.lang.String,boolean)">getUsers(String, long, int, int, String, boolean)</a></span> - Method in class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/GroupWebService.html" title="class in org.apache.openmeetings.webservice">GroupWebService</a></dt>
<dd>
<div class="block">Search users and return them</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/schema/UserSearchResultWrapper.html#getUserSearchResult()">getUserSearchResult()</a></span> - Method in class org.apache.openmeetings.webservice.schema.<a href="org/apache/openmeetings/webservice/schema/UserSearchResultWrapper.html" title="class in org.apache.openmeetings.webservice.schema">UserSearchResultWrapper</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/InfoWebService.html#getVersion()">getVersion()</a></span> - Method in class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/InfoWebService.html" title="class in org.apache.openmeetings.webservice">InfoWebService</a></dt>
<dd>
<div class="block">Method to get current OpenMeetings version</div>
</dd>
<dt><a href="org/apache/openmeetings/webservice/schema/GroupDTOListWrapper.html" title="class in org.apache.openmeetings.webservice.schema"><span class="typeNameLink">GroupDTOListWrapper</span></a> - Class in <a href="org/apache/openmeetings/webservice/schema/package-summary.html">org.apache.openmeetings.webservice.schema</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/schema/GroupDTOListWrapper.html#%3Cinit%3E()">GroupDTOListWrapper()</a></span> - Constructor for class org.apache.openmeetings.webservice.schema.<a href="org/apache/openmeetings/webservice/schema/GroupDTOListWrapper.html" title="class in org.apache.openmeetings.webservice.schema">GroupDTOListWrapper</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/openmeetings/webservice/GroupWebService.html" title="class in org.apache.openmeetings.webservice"><span class="typeNameLink">GroupWebService</span></a> - Class in <a href="org/apache/openmeetings/webservice/package-summary.html">org.apache.openmeetings.webservice</a></dt>
<dd>
<div class="block">The Service contains methods to login and create hash to directly enter
 conference rooms, recordings or the application in general</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/GroupWebService.html#%3Cinit%3E()">GroupWebService()</a></span> - Constructor for class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/GroupWebService.html" title="class in org.apache.openmeetings.webservice">GroupWebService</a></dt>
<dd>&nbsp;</dd>
</dl>
<a id="I:H">
<!--   -->
</a>
<h2 class="title">H</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/util/AllowOriginProvider.html#handleMessage(org.apache.cxf.message.Message)">handleMessage(Message)</a></span> - Method in class org.apache.openmeetings.webservice.util.<a href="org/apache/openmeetings/webservice/util/AllowOriginProvider.html" title="class in org.apache.openmeetings.webservice.util">AllowOriginProvider</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/RoomWebService.html#hash(java.lang.String,org.apache.openmeetings.db.dto.room.InvitationDTO,boolean)">hash(String, InvitationDTO, boolean)</a></span> - Method in class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/RoomWebService.html" title="class in org.apache.openmeetings.webservice">RoomWebService</a></dt>
<dd>
<div class="block">Method to get invitation hash with given parameters</div>
</dd>
<dt><a href="org/apache/openmeetings/webservice/schema/HealthWrapper.html" title="class in org.apache.openmeetings.webservice.schema"><span class="typeNameLink">HealthWrapper</span></a> - Class in <a href="org/apache/openmeetings/webservice/schema/package-summary.html">org.apache.openmeetings.webservice.schema</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/schema/HealthWrapper.html#%3Cinit%3E()">HealthWrapper()</a></span> - Constructor for class org.apache.openmeetings.webservice.schema.<a href="org/apache/openmeetings/webservice/schema/HealthWrapper.html" title="class in org.apache.openmeetings.webservice.schema">HealthWrapper</a></dt>
<dd>&nbsp;</dd>
</dl>
<a id="I:I">
<!--   -->
</a>
<h2 class="title">I</h2>
<dl>
<dt><a href="org/apache/openmeetings/webservice/InfoWebService.html" title="class in org.apache.openmeetings.webservice"><span class="typeNameLink">InfoWebService</span></a> - Class in <a href="org/apache/openmeetings/webservice/package-summary.html">org.apache.openmeetings.webservice</a></dt>
<dd>
<div class="block">The Service contains methods to get info about the system and manifest</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/InfoWebService.html#%3Cinit%3E()">InfoWebService()</a></span> - Constructor for class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/InfoWebService.html" title="class in org.apache.openmeetings.webservice">InfoWebService</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/openmeetings/webservice/schema/InfoWrapper.html" title="class in org.apache.openmeetings.webservice.schema"><span class="typeNameLink">InfoWrapper</span></a> - Class in <a href="org/apache/openmeetings/webservice/schema/package-summary.html">org.apache.openmeetings.webservice.schema</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/schema/InfoWrapper.html#%3Cinit%3E()">InfoWrapper()</a></span> - Constructor for class org.apache.openmeetings.webservice.schema.<a href="org/apache/openmeetings/webservice/schema/InfoWrapper.html" title="class in org.apache.openmeetings.webservice.schema">InfoWrapper</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/openmeetings/webservice/error/InternalServiceException.html" title="class in org.apache.openmeetings.webservice.error"><span class="typeNameLink">InternalServiceException</span></a> - Exception in <a href="org/apache/openmeetings/webservice/error/package-summary.html">org.apache.openmeetings.webservice.error</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/error/InternalServiceException.html#%3Cinit%3E(java.lang.String)">InternalServiceException(String)</a></span> - Constructor for exception org.apache.openmeetings.webservice.error.<a href="org/apache/openmeetings/webservice/error/InternalServiceException.html" title="class in org.apache.openmeetings.webservice.error">InternalServiceException</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/util/AppointmentMessageBodyReader.html#isReadable(java.lang.Class,java.lang.reflect.Type,java.lang.annotation.Annotation%5B%5D,javax.ws.rs.core.MediaType)">isReadable(Class&lt;?&gt;, Type, Annotation[], MediaType)</a></span> - Method in class org.apache.openmeetings.webservice.util.<a href="org/apache/openmeetings/webservice/util/AppointmentMessageBodyReader.html" title="class in org.apache.openmeetings.webservice.util">AppointmentMessageBodyReader</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/util/AppointmentListMessageBodyWriter.html#isWriteable(java.lang.Class,java.lang.reflect.Type,java.lang.annotation.Annotation%5B%5D,javax.ws.rs.core.MediaType)">isWriteable(Class&lt;?&gt;, Type, Annotation[], MediaType)</a></span> - Method in class org.apache.openmeetings.webservice.util.<a href="org/apache/openmeetings/webservice/util/AppointmentListMessageBodyWriter.html" title="class in org.apache.openmeetings.webservice.util">AppointmentListMessageBodyWriter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/util/AppointmentMessageBodyWriter.html#isWriteable(java.lang.Class,java.lang.reflect.Type,java.lang.annotation.Annotation%5B%5D,javax.ws.rs.core.MediaType)">isWriteable(Class&lt;?&gt;, Type, Annotation[], MediaType)</a></span> - Method in class org.apache.openmeetings.webservice.util.<a href="org/apache/openmeetings/webservice/util/AppointmentMessageBodyWriter.html" title="class in org.apache.openmeetings.webservice.util">AppointmentMessageBodyWriter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/util/UserMessageBodyWriter.html#isWriteable(java.lang.Class,java.lang.reflect.Type,java.lang.annotation.Annotation%5B%5D,javax.ws.rs.core.MediaType)">isWriteable(Class&lt;?&gt;, Type, Annotation[], MediaType)</a></span> - Method in class org.apache.openmeetings.webservice.util.<a href="org/apache/openmeetings/webservice/util/UserMessageBodyWriter.html" title="class in org.apache.openmeetings.webservice.util">UserMessageBodyWriter</a></dt>
<dd>&nbsp;</dd>
</dl>
<a id="I:J">
<!--   -->
</a>
<h2 class="title">J</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/NetTestWebService.TestType.html#JITTER">JITTER</a></span> - org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/NetTestWebService.TestType.html" title="enum in org.apache.openmeetings.webservice">NetTestWebService.TestType</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/util/AppointmentParamConverter.html#json(org.apache.openmeetings.db.dto.calendar.AppointmentDTO)">json(AppointmentDTO)</a></span> - Static method in class org.apache.openmeetings.webservice.util.<a href="org/apache/openmeetings/webservice/util/AppointmentParamConverter.html" title="class in org.apache.openmeetings.webservice.util">AppointmentParamConverter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/util/UserParamConverter.html#json(org.apache.openmeetings.db.dto.user.UserDTO)">json(UserDTO)</a></span> - Static method in class org.apache.openmeetings.webservice.util.<a href="org/apache/openmeetings/webservice/util/UserParamConverter.html" title="class in org.apache.openmeetings.webservice.util">UserParamConverter</a></dt>
<dd>&nbsp;</dd>
</dl>
<a id="I:K">
<!--   -->
</a>
<h2 class="title">K</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/RoomWebService.html#kick(java.lang.String,long,java.lang.String,java.lang.String)">kick(String, long, String, String)</a></span> - Method in class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/RoomWebService.html" title="class in org.apache.openmeetings.webservice">RoomWebService</a></dt>
<dd>
<div class="block">kick external USER from given room</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/RoomWebService.html#kickAll(java.lang.String,long)">kickAll(String, long)</a></span> - Method in class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/RoomWebService.html" title="class in org.apache.openmeetings.webservice">RoomWebService</a></dt>
<dd>
<div class="block">kick all uses of a certain room</div>
</dd>
</dl>
<a id="I:L">
<!--   -->
</a>
<h2 class="title">L</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/UserWebService.html#login(java.lang.String,java.lang.String)">login(String, String)</a></span> - Method in class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/UserWebService.html" title="class in org.apache.openmeetings.webservice">UserWebService</a></dt>
<dd>&nbsp;</dd>
</dl>
<a id="I:M">
<!--   -->
</a>
<h2 class="title">M</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/FileWebService.html#move(java.lang.String,long,long,long)">move(String, long, long, long)</a></span> - Method in class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/FileWebService.html" title="class in org.apache.openmeetings.webservice">FileWebService</a></dt>
<dd>
<div class="block">move a file or folder</div>
</dd>
</dl>
<a id="I:N">
<!--   -->
</a>
<h2 class="title">N</h2>
<dl>
<dt><a href="org/apache/openmeetings/webservice/NetTestWebService.html" title="class in org.apache.openmeetings.webservice"><span class="typeNameLink">NetTestWebService</span></a> - Class in <a href="org/apache/openmeetings/webservice/package-summary.html">org.apache.openmeetings.webservice</a></dt>
<dd>
<div class="block">The Service contains methods to trigger a network test</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/NetTestWebService.html#%3Cinit%3E()">NetTestWebService()</a></span> - Constructor for class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/NetTestWebService.html" title="class in org.apache.openmeetings.webservice">NetTestWebService</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/openmeetings/webservice/NetTestWebService.TestType.html" title="enum in org.apache.openmeetings.webservice"><span class="typeNameLink">NetTestWebService.TestType</span></a> - Enum in <a href="org/apache/openmeetings/webservice/package-summary.html">org.apache.openmeetings.webservice</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/CalendarWebService.html#next(java.lang.String)">next(String)</a></span> - Method in class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/CalendarWebService.html" title="class in org.apache.openmeetings.webservice">CalendarWebService</a></dt>
<dd>
<div class="block">Get the next Calendar event for the current USER of the SID</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/CalendarWebService.html#nextForUser(java.lang.String,long)">nextForUser(String, long)</a></span> - Method in class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/CalendarWebService.html" title="class in org.apache.openmeetings.webservice">CalendarWebService</a></dt>
<dd>
<div class="block">Get the next Calendar event for userId</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/error/ServiceException.html#NO_PERMISSION">NO_PERMISSION</a></span> - Static variable in exception org.apache.openmeetings.webservice.error.<a href="org/apache/openmeetings/webservice/error/ServiceException.html" title="class in org.apache.openmeetings.webservice.error">ServiceException</a></dt>
<dd>&nbsp;</dd>
</dl>
<a id="I:O">
<!--   -->
</a>
<h2 class="title">O</h2>
<dl>
<dt><a href="org/apache/openmeetings/webservice/util/OmExceptionHandler.html" title="class in org.apache.openmeetings.webservice.util"><span class="typeNameLink">OmExceptionHandler</span></a> - Class in <a href="org/apache/openmeetings/webservice/util/package-summary.html">org.apache.openmeetings.webservice.util</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/util/OmExceptionHandler.html#%3Cinit%3E()">OmExceptionHandler()</a></span> - Constructor for class org.apache.openmeetings.webservice.util.<a href="org/apache/openmeetings/webservice/util/OmExceptionHandler.html" title="class in org.apache.openmeetings.webservice.util">OmExceptionHandler</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/openmeetings/webservice/util/OmParamConverterProvider.html" title="class in org.apache.openmeetings.webservice.util"><span class="typeNameLink">OmParamConverterProvider</span></a> - Class in <a href="org/apache/openmeetings/webservice/util/package-summary.html">org.apache.openmeetings.webservice.util</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/util/OmParamConverterProvider.html#%3Cinit%3E()">OmParamConverterProvider()</a></span> - Constructor for class org.apache.openmeetings.webservice.util.<a href="org/apache/openmeetings/webservice/util/OmParamConverterProvider.html" title="class in org.apache.openmeetings.webservice.util">OmParamConverterProvider</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/RoomWebService.html#open(java.lang.String,long)">open(String, long)</a></span> - Method in class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/RoomWebService.html" title="class in org.apache.openmeetings.webservice">RoomWebService</a></dt>
<dd>
<div class="block">Method to remotely open rooms.</div>
</dd>
<dt><a href="org/apache/openmeetings/webservice/package-summary.html">org.apache.openmeetings.webservice</a> - package org.apache.openmeetings.webservice</dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/openmeetings/webservice/error/package-summary.html">org.apache.openmeetings.webservice.error</a> - package org.apache.openmeetings.webservice.error</dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/openmeetings/webservice/schema/package-summary.html">org.apache.openmeetings.webservice.schema</a> - package org.apache.openmeetings.webservice.schema</dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/openmeetings/webservice/util/package-summary.html">org.apache.openmeetings.webservice.util</a> - package org.apache.openmeetings.webservice.util</dt>
<dd>&nbsp;</dd>
</dl>
<a id="I:P">
<!--   -->
</a>
<h2 class="title">P</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/NetTestWebService.TestType.html#PING">PING</a></span> - org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/NetTestWebService.TestType.html" title="enum in org.apache.openmeetings.webservice">NetTestWebService.TestType</a></dt>
<dd>&nbsp;</dd>
</dl>
<a id="I:R">
<!--   -->
</a>
<h2 class="title">R</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/CalendarWebService.html#range(java.lang.String,java.util.Calendar,java.util.Calendar)">range(String, Calendar, Calendar)</a></span> - Method in class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/CalendarWebService.html" title="class in org.apache.openmeetings.webservice">CalendarWebService</a></dt>
<dd>
<div class="block">Load appointments by a start / end range for the current SID</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/CalendarWebService.html#rangeForUser(java.lang.String,long,java.util.Calendar,java.util.Calendar)">rangeForUser(String, long, Calendar, Calendar)</a></span> - Method in class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/CalendarWebService.html" title="class in org.apache.openmeetings.webservice">CalendarWebService</a></dt>
<dd>
<div class="block">Load appointments by a start / end range for the userId</div>
</dd>
<dt><a href="org/apache/openmeetings/webservice/util/RateLimited.html" title="annotation in org.apache.openmeetings.webservice.util"><span class="typeNameLink">RateLimited</span></a> - Annotation Type in <a href="org/apache/openmeetings/webservice/util/package-summary.html">org.apache.openmeetings.webservice.util</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/openmeetings/webservice/util/RateLimitRequestFilter.html" title="class in org.apache.openmeetings.webservice.util"><span class="typeNameLink">RateLimitRequestFilter</span></a> - Class in <a href="org/apache/openmeetings/webservice/util/package-summary.html">org.apache.openmeetings.webservice.util</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/util/RateLimitRequestFilter.html#%3Cinit%3E()">RateLimitRequestFilter()</a></span> - Constructor for class org.apache.openmeetings.webservice.util.<a href="org/apache/openmeetings/webservice/util/RateLimitRequestFilter.html" title="class in org.apache.openmeetings.webservice.util">RateLimitRequestFilter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/util/AppointmentMessageBodyReader.html#readFrom(java.lang.Class,java.lang.reflect.Type,java.lang.annotation.Annotation%5B%5D,javax.ws.rs.core.MediaType,javax.ws.rs.core.MultivaluedMap,java.io.InputStream)">readFrom(Class&lt;AppointmentDTO&gt;, Type, Annotation[], MediaType, MultivaluedMap&lt;String, String&gt;, InputStream)</a></span> - Method in class org.apache.openmeetings.webservice.util.<a href="org/apache/openmeetings/webservice/util/AppointmentMessageBodyReader.html" title="class in org.apache.openmeetings.webservice.util">AppointmentMessageBodyReader</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/openmeetings/webservice/schema/RecordingDTOListWrapper.html" title="class in org.apache.openmeetings.webservice.schema"><span class="typeNameLink">RecordingDTOListWrapper</span></a> - Class in <a href="org/apache/openmeetings/webservice/schema/package-summary.html">org.apache.openmeetings.webservice.schema</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/schema/RecordingDTOListWrapper.html#%3Cinit%3E()">RecordingDTOListWrapper()</a></span> - Constructor for class org.apache.openmeetings.webservice.schema.<a href="org/apache/openmeetings/webservice/schema/RecordingDTOListWrapper.html" title="class in org.apache.openmeetings.webservice.schema">RecordingDTOListWrapper</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/openmeetings/webservice/RecordingWebService.html" title="class in org.apache.openmeetings.webservice"><span class="typeNameLink">RecordingWebService</span></a> - Class in <a href="org/apache/openmeetings/webservice/package-summary.html">org.apache.openmeetings.webservice</a></dt>
<dd>
<div class="block">The Service contains methods to work with recordings</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/RecordingWebService.html#%3Cinit%3E()">RecordingWebService()</a></span> - Constructor for class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/RecordingWebService.html" title="class in org.apache.openmeetings.webservice">RecordingWebService</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/GroupWebService.html#removeUser(java.lang.String,java.lang.Long,java.lang.Long)">removeUser(String, Long, Long)</a></span> - Method in class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/GroupWebService.html" title="class in org.apache.openmeetings.webservice">GroupWebService</a></dt>
<dd>
<div class="block">Remove USER from a certain group</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/FileWebService.html#rename(java.lang.String,long,java.lang.String)">rename(String, long, String)</a></span> - Method in class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/FileWebService.html" title="class in org.apache.openmeetings.webservice">FileWebService</a></dt>
<dd>
<div class="block">update a file or folder name</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/ErrorWebService.html#report(java.lang.String,java.lang.String)">report(String, String)</a></span> - Method in class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/ErrorWebService.html" title="class in org.apache.openmeetings.webservice">ErrorWebService</a></dt>
<dd>
<div class="block">Logs an error to the log file for reporting</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/WbWebService.html#resetWb(java.lang.String,long)">resetWb(String, long)</a></span> - Method in class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/WbWebService.html" title="class in org.apache.openmeetings.webservice">WbWebService</a></dt>
<dd>
<div class="block">This method will remove all whiteboards from given room
 and create empty one(s) for room files specified</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/BaseWebService.html#roomDao">roomDao</a></span> - Variable in class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/BaseWebService.html" title="class in org.apache.openmeetings.webservice">BaseWebService</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/openmeetings/webservice/schema/RoomDTOListWrapper.html" title="class in org.apache.openmeetings.webservice.schema"><span class="typeNameLink">RoomDTOListWrapper</span></a> - Class in <a href="org/apache/openmeetings/webservice/schema/package-summary.html">org.apache.openmeetings.webservice.schema</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/schema/RoomDTOListWrapper.html#%3Cinit%3E()">RoomDTOListWrapper()</a></span> - Constructor for class org.apache.openmeetings.webservice.schema.<a href="org/apache/openmeetings/webservice/schema/RoomDTOListWrapper.html" title="class in org.apache.openmeetings.webservice.schema">RoomDTOListWrapper</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/openmeetings/webservice/schema/RoomDTOWrapper.html" title="class in org.apache.openmeetings.webservice.schema"><span class="typeNameLink">RoomDTOWrapper</span></a> - Class in <a href="org/apache/openmeetings/webservice/schema/package-summary.html">org.apache.openmeetings.webservice.schema</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/schema/RoomDTOWrapper.html#%3Cinit%3E()">RoomDTOWrapper()</a></span> - Constructor for class org.apache.openmeetings.webservice.schema.<a href="org/apache/openmeetings/webservice/schema/RoomDTOWrapper.html" title="class in org.apache.openmeetings.webservice.schema">RoomDTOWrapper</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/openmeetings/webservice/RoomWebService.html" title="class in org.apache.openmeetings.webservice"><span class="typeNameLink">RoomWebService</span></a> - Class in <a href="org/apache/openmeetings/webservice/package-summary.html">org.apache.openmeetings.webservice</a></dt>
<dd>
<div class="block">RoomService contains methods to manipulate rooms and create invitation hash</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/RoomWebService.html#%3Cinit%3E()">RoomWebService()</a></span> - Constructor for class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/RoomWebService.html" title="class in org.apache.openmeetings.webservice">RoomWebService</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/util/AppointmentParamConverter.html#ROOT">ROOT</a></span> - Static variable in class org.apache.openmeetings.webservice.util.<a href="org/apache/openmeetings/webservice/util/AppointmentParamConverter.html" title="class in org.apache.openmeetings.webservice.util">AppointmentParamConverter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/util/UserParamConverter.html#ROOT">ROOT</a></span> - Static variable in class org.apache.openmeetings.webservice.util.<a href="org/apache/openmeetings/webservice/util/UserParamConverter.html" title="class in org.apache.openmeetings.webservice.util">UserParamConverter</a></dt>
<dd>&nbsp;</dd>
</dl>
<a id="I:S">
<!--   -->
</a>
<h2 class="title">S</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/CalendarWebService.html#save(java.lang.String,org.apache.openmeetings.db.dto.calendar.AppointmentDTO)">save(String, AppointmentDTO)</a></span> - Method in class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/CalendarWebService.html" title="class in org.apache.openmeetings.webservice">CalendarWebService</a></dt>
<dd>
<div class="block">Create an appointment</div>
</dd>
<dt><a href="org/apache/openmeetings/webservice/error/ServiceException.html" title="class in org.apache.openmeetings.webservice.error"><span class="typeNameLink">ServiceException</span></a> - Exception in <a href="org/apache/openmeetings/webservice/error/package-summary.html">org.apache.openmeetings.webservice.error</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/error/ServiceException.html#%3Cinit%3E(java.lang.String)">ServiceException(String)</a></span> - Constructor for exception org.apache.openmeetings.webservice.error.<a href="org/apache/openmeetings/webservice/error/ServiceException.html" title="class in org.apache.openmeetings.webservice.error">ServiceException</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/openmeetings/webservice/schema/ServiceResultWrapper.html" title="class in org.apache.openmeetings.webservice.schema"><span class="typeNameLink">ServiceResultWrapper</span></a> - Class in <a href="org/apache/openmeetings/webservice/schema/package-summary.html">org.apache.openmeetings.webservice.schema</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/schema/ServiceResultWrapper.html#%3Cinit%3E()">ServiceResultWrapper()</a></span> - Constructor for class org.apache.openmeetings.webservice.schema.<a href="org/apache/openmeetings/webservice/schema/ServiceResultWrapper.html" title="class in org.apache.openmeetings.webservice.schema">ServiceResultWrapper</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/BaseWebService.html#sessionDao">sessionDao</a></span> - Variable in class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/BaseWebService.html" title="class in org.apache.openmeetings.webservice">BaseWebService</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/schema/AppointmentDTOListWrapper.html#setAppointmentDTO(java.util.List)">setAppointmentDTO(List&lt;AppointmentDTO&gt;)</a></span> - Method in class org.apache.openmeetings.webservice.schema.<a href="org/apache/openmeetings/webservice/schema/AppointmentDTOListWrapper.html" title="class in org.apache.openmeetings.webservice.schema">AppointmentDTOListWrapper</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/schema/AppointmentDTOWrapper.html#setAppointmentDTO(org.apache.openmeetings.db.dto.calendar.AppointmentDTO)">setAppointmentDTO(AppointmentDTO)</a></span> - Method in class org.apache.openmeetings.webservice.schema.<a href="org/apache/openmeetings/webservice/schema/AppointmentDTOWrapper.html" title="class in org.apache.openmeetings.webservice.schema">AppointmentDTOWrapper</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/schema/FileExplorerObjectWrapper.html#setFileExplorerObject(org.apache.openmeetings.db.dto.file.FileExplorerObject)">setFileExplorerObject(FileExplorerObject)</a></span> - Method in class org.apache.openmeetings.webservice.schema.<a href="org/apache/openmeetings/webservice/schema/FileExplorerObjectWrapper.html" title="class in org.apache.openmeetings.webservice.schema">FileExplorerObjectWrapper</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/schema/FileItemDTOListWrapper.html#setFileItemDTO(java.util.List)">setFileItemDTO(List&lt;FileItemDTO&gt;)</a></span> - Method in class org.apache.openmeetings.webservice.schema.<a href="org/apache/openmeetings/webservice/schema/FileItemDTOListWrapper.html" title="class in org.apache.openmeetings.webservice.schema">FileItemDTOListWrapper</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/schema/FileItemDTOWrapper.html#setFileItemDTO(org.apache.openmeetings.db.dto.file.FileItemDTO)">setFileItemDTO(FileItemDTO)</a></span> - Method in class org.apache.openmeetings.webservice.schema.<a href="org/apache/openmeetings/webservice/schema/FileItemDTOWrapper.html" title="class in org.apache.openmeetings.webservice.schema">FileItemDTOWrapper</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/schema/GroupDTOListWrapper.html#setGroupDTO(java.util.List)">setGroupDTO(List&lt;GroupDTO&gt;)</a></span> - Method in class org.apache.openmeetings.webservice.schema.<a href="org/apache/openmeetings/webservice/schema/GroupDTOListWrapper.html" title="class in org.apache.openmeetings.webservice.schema">GroupDTOListWrapper</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/schema/HealthWrapper.html#setHealth(org.apache.openmeetings.db.dto.basic.Health)">setHealth(Health)</a></span> - Method in class org.apache.openmeetings.webservice.schema.<a href="org/apache/openmeetings/webservice/schema/HealthWrapper.html" title="class in org.apache.openmeetings.webservice.schema">HealthWrapper</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/schema/InfoWrapper.html#setInfo(org.apache.openmeetings.db.dto.basic.Info)">setInfo(Info)</a></span> - Method in class org.apache.openmeetings.webservice.schema.<a href="org/apache/openmeetings/webservice/schema/InfoWrapper.html" title="class in org.apache.openmeetings.webservice.schema">InfoWrapper</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/schema/RecordingDTOListWrapper.html#setRecordingDTO(java.util.List)">setRecordingDTO(List&lt;RecordingDTO&gt;)</a></span> - Method in class org.apache.openmeetings.webservice.schema.<a href="org/apache/openmeetings/webservice/schema/RecordingDTOListWrapper.html" title="class in org.apache.openmeetings.webservice.schema">RecordingDTOListWrapper</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/schema/RoomDTOListWrapper.html#setRoomDTO(java.util.List)">setRoomDTO(List&lt;RoomDTO&gt;)</a></span> - Method in class org.apache.openmeetings.webservice.schema.<a href="org/apache/openmeetings/webservice/schema/RoomDTOListWrapper.html" title="class in org.apache.openmeetings.webservice.schema">RoomDTOListWrapper</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/schema/RoomDTOWrapper.html#setRoomDTO(org.apache.openmeetings.db.dto.room.RoomDTO)">setRoomDTO(RoomDTO)</a></span> - Method in class org.apache.openmeetings.webservice.schema.<a href="org/apache/openmeetings/webservice/schema/RoomDTOWrapper.html" title="class in org.apache.openmeetings.webservice.schema">RoomDTOWrapper</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/schema/ServiceResultWrapper.html#setServiceResult(org.apache.openmeetings.db.dto.basic.ServiceResult)">setServiceResult(ServiceResult)</a></span> - Method in class org.apache.openmeetings.webservice.schema.<a href="org/apache/openmeetings/webservice/schema/ServiceResultWrapper.html" title="class in org.apache.openmeetings.webservice.schema">ServiceResultWrapper</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/schema/UserDTOListWrapper.html#setUserDTO(java.util.List)">setUserDTO(List&lt;UserDTO&gt;)</a></span> - Method in class org.apache.openmeetings.webservice.schema.<a href="org/apache/openmeetings/webservice/schema/UserDTOListWrapper.html" title="class in org.apache.openmeetings.webservice.schema">UserDTOListWrapper</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/schema/UserDTOWrapper.html#setUserDTO(org.apache.openmeetings.db.dto.user.UserDTO)">setUserDTO(UserDTO)</a></span> - Method in class org.apache.openmeetings.webservice.schema.<a href="org/apache/openmeetings/webservice/schema/UserDTOWrapper.html" title="class in org.apache.openmeetings.webservice.schema">UserDTOWrapper</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/schema/UserSearchResultWrapper.html#setUserSearchResult(org.apache.openmeetings.db.dto.user.UserSearchResult)">setUserSearchResult(UserSearchResult)</a></span> - Method in class org.apache.openmeetings.webservice.schema.<a href="org/apache/openmeetings/webservice/schema/UserSearchResultWrapper.html" title="class in org.apache.openmeetings.webservice.schema">UserSearchResultWrapper</a></dt>
<dd>&nbsp;</dd>
</dl>
<a id="I:T">
<!--   -->
</a>
<h2 class="title">T</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/Constants.html#TNS">TNS</a></span> - Static variable in class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/Constants.html" title="class in org.apache.openmeetings.webservice">Constants</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/util/OmExceptionHandler.html#toResponse(org.apache.openmeetings.webservice.error.ServiceException)">toResponse(ServiceException)</a></span> - Method in class org.apache.openmeetings.webservice.util.<a href="org/apache/openmeetings/webservice/util/OmExceptionHandler.html" title="class in org.apache.openmeetings.webservice.util">OmExceptionHandler</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/util/CalendarParamConverter.html#toString(java.util.Calendar)">toString(Calendar)</a></span> - Method in class org.apache.openmeetings.webservice.util.<a href="org/apache/openmeetings/webservice/util/CalendarParamConverter.html" title="class in org.apache.openmeetings.webservice.util">CalendarParamConverter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/util/DateParamConverter.html#toString(java.util.Date)">toString(Date)</a></span> - Method in class org.apache.openmeetings.webservice.util.<a href="org/apache/openmeetings/webservice/util/DateParamConverter.html" title="class in org.apache.openmeetings.webservice.util">DateParamConverter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/util/AppointmentParamConverter.html#toString(org.apache.openmeetings.db.dto.calendar.AppointmentDTO)">toString(AppointmentDTO)</a></span> - Method in class org.apache.openmeetings.webservice.util.<a href="org/apache/openmeetings/webservice/util/AppointmentParamConverter.html" title="class in org.apache.openmeetings.webservice.util">AppointmentParamConverter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/util/UserParamConverter.html#toString(org.apache.openmeetings.db.dto.user.UserDTO)">toString(UserDTO)</a></span> - Method in class org.apache.openmeetings.webservice.util.<a href="org/apache/openmeetings/webservice/util/UserParamConverter.html" title="class in org.apache.openmeetings.webservice.util">UserParamConverter</a></dt>
<dd>&nbsp;</dd>
</dl>
<a id="I:U">
<!--   -->
</a>
<h2 class="title">U</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/NetTestWebService.TestType.html#UNKNOWN">UNKNOWN</a></span> - org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/NetTestWebService.TestType.html" title="enum in org.apache.openmeetings.webservice">NetTestWebService.TestType</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/NetTestWebService.html#upload(int,java.io.InputStream)">upload(int, InputStream)</a></span> - Method in class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/NetTestWebService.html" title="class in org.apache.openmeetings.webservice">NetTestWebService</a></dt>
<dd>
<div class="block">Upload media to test upload speed</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/NetTestWebService.TestType.html#UPLOAD_SPEED">UPLOAD_SPEED</a></span> - org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/NetTestWebService.TestType.html" title="enum in org.apache.openmeetings.webservice">NetTestWebService.TestType</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/WbWebService.html#uploadWb(java.lang.String,java.lang.String,java.lang.String)">uploadWb(String, String, String)</a></span> - Method in class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/WbWebService.html" title="class in org.apache.openmeetings.webservice">WbWebService</a></dt>
<dd>
<div class="block">This method will receive WB as binary data (png) and store it to temporary PDF/PNG file

 unlike other web service methods this one uses internal client sid
 NOT web service sid</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/Constants.html#USER_SERVICE_NAME">USER_SERVICE_NAME</a></span> - Static variable in class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/Constants.html" title="class in org.apache.openmeetings.webservice">Constants</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/Constants.html#USER_SERVICE_PORT_NAME">USER_SERVICE_PORT_NAME</a></span> - Static variable in class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/Constants.html" title="class in org.apache.openmeetings.webservice">Constants</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/BaseWebService.html#userDao">userDao</a></span> - Variable in class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/BaseWebService.html" title="class in org.apache.openmeetings.webservice">BaseWebService</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/openmeetings/webservice/schema/UserDTOListWrapper.html" title="class in org.apache.openmeetings.webservice.schema"><span class="typeNameLink">UserDTOListWrapper</span></a> - Class in <a href="org/apache/openmeetings/webservice/schema/package-summary.html">org.apache.openmeetings.webservice.schema</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/schema/UserDTOListWrapper.html#%3Cinit%3E()">UserDTOListWrapper()</a></span> - Constructor for class org.apache.openmeetings.webservice.schema.<a href="org/apache/openmeetings/webservice/schema/UserDTOListWrapper.html" title="class in org.apache.openmeetings.webservice.schema">UserDTOListWrapper</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/openmeetings/webservice/schema/UserDTOWrapper.html" title="class in org.apache.openmeetings.webservice.schema"><span class="typeNameLink">UserDTOWrapper</span></a> - Class in <a href="org/apache/openmeetings/webservice/schema/package-summary.html">org.apache.openmeetings.webservice.schema</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/schema/UserDTOWrapper.html#%3Cinit%3E()">UserDTOWrapper()</a></span> - Constructor for class org.apache.openmeetings.webservice.schema.<a href="org/apache/openmeetings/webservice/schema/UserDTOWrapper.html" title="class in org.apache.openmeetings.webservice.schema">UserDTOWrapper</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/openmeetings/webservice/util/UserMessageBodyWriter.html" title="class in org.apache.openmeetings.webservice.util"><span class="typeNameLink">UserMessageBodyWriter</span></a> - Class in <a href="org/apache/openmeetings/webservice/util/package-summary.html">org.apache.openmeetings.webservice.util</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/util/UserMessageBodyWriter.html#%3Cinit%3E()">UserMessageBodyWriter()</a></span> - Constructor for class org.apache.openmeetings.webservice.util.<a href="org/apache/openmeetings/webservice/util/UserMessageBodyWriter.html" title="class in org.apache.openmeetings.webservice.util">UserMessageBodyWriter</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/openmeetings/webservice/util/UserParamConverter.html" title="class in org.apache.openmeetings.webservice.util"><span class="typeNameLink">UserParamConverter</span></a> - Class in <a href="org/apache/openmeetings/webservice/util/package-summary.html">org.apache.openmeetings.webservice.util</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/util/UserParamConverter.html#%3Cinit%3E()">UserParamConverter()</a></span> - Constructor for class org.apache.openmeetings.webservice.util.<a href="org/apache/openmeetings/webservice/util/UserParamConverter.html" title="class in org.apache.openmeetings.webservice.util">UserParamConverter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/RoomWebService.html#users(java.lang.String,java.lang.Long)">users(String, Long)</a></span> - Method in class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/RoomWebService.html" title="class in org.apache.openmeetings.webservice">RoomWebService</a></dt>
<dd>
<div class="block">Returns list of users currently in the ROOM with given id</div>
</dd>
<dt><a href="org/apache/openmeetings/webservice/schema/UserSearchResultWrapper.html" title="class in org.apache.openmeetings.webservice.schema"><span class="typeNameLink">UserSearchResultWrapper</span></a> - Class in <a href="org/apache/openmeetings/webservice/schema/package-summary.html">org.apache.openmeetings.webservice.schema</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/schema/UserSearchResultWrapper.html#%3Cinit%3E()">UserSearchResultWrapper()</a></span> - Constructor for class org.apache.openmeetings.webservice.schema.<a href="org/apache/openmeetings/webservice/schema/UserSearchResultWrapper.html" title="class in org.apache.openmeetings.webservice.schema">UserSearchResultWrapper</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/openmeetings/webservice/UserWebService.html" title="class in org.apache.openmeetings.webservice"><span class="typeNameLink">UserWebService</span></a> - Class in <a href="org/apache/openmeetings/webservice/package-summary.html">org.apache.openmeetings.webservice</a></dt>
<dd>
<div class="block">The Service contains methods to login and create hash to directly enter
 conference rooms, recordings or the application in general</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/UserWebService.html#%3Cinit%3E()">UserWebService()</a></span> - Constructor for class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/UserWebService.html" title="class in org.apache.openmeetings.webservice">UserWebService</a></dt>
<dd>&nbsp;</dd>
</dl>
<a id="I:V">
<!--   -->
</a>
<h2 class="title">V</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/NetTestWebService.TestType.html#valueOf(java.lang.String)">valueOf(String)</a></span> - Static method in enum org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/NetTestWebService.TestType.html" title="enum in org.apache.openmeetings.webservice">NetTestWebService.TestType</a></dt>
<dd>
<div class="block">Returns the enum constant of this type with the specified name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/NetTestWebService.TestType.html#values()">values()</a></span> - Static method in enum org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/NetTestWebService.TestType.html" title="enum in org.apache.openmeetings.webservice">NetTestWebService.TestType</a></dt>
<dd>
<div class="block">Returns an array containing the constants of this enum type, in
the order they are declared.</div>
</dd>
</dl>
<a id="I:W">
<!--   -->
</a>
<h2 class="title">W</h2>
<dl>
<dt><a href="org/apache/openmeetings/webservice/WbWebService.html" title="class in org.apache.openmeetings.webservice"><span class="typeNameLink">WbWebService</span></a> - Class in <a href="org/apache/openmeetings/webservice/package-summary.html">org.apache.openmeetings.webservice</a></dt>
<dd>
<div class="block">WbService contains methods to manipulate whiteboard contents</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/WbWebService.html#%3Cinit%3E()">WbWebService()</a></span> - Constructor for class org.apache.openmeetings.webservice.<a href="org/apache/openmeetings/webservice/WbWebService.html" title="class in org.apache.openmeetings.webservice">WbWebService</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/util/AppointmentListMessageBodyWriter.html#writeTo(java.util.List,java.lang.Class,java.lang.reflect.Type,java.lang.annotation.Annotation%5B%5D,javax.ws.rs.core.MediaType,javax.ws.rs.core.MultivaluedMap,java.io.OutputStream)">writeTo(List&lt;AppointmentDTO&gt;, Class&lt;?&gt;, Type, Annotation[], MediaType, MultivaluedMap&lt;String, Object&gt;, OutputStream)</a></span> - Method in class org.apache.openmeetings.webservice.util.<a href="org/apache/openmeetings/webservice/util/AppointmentListMessageBodyWriter.html" title="class in org.apache.openmeetings.webservice.util">AppointmentListMessageBodyWriter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/util/AppointmentMessageBodyWriter.html#writeTo(org.apache.openmeetings.db.dto.calendar.AppointmentDTO,java.lang.Class,java.lang.reflect.Type,java.lang.annotation.Annotation%5B%5D,javax.ws.rs.core.MediaType,javax.ws.rs.core.MultivaluedMap,java.io.OutputStream)">writeTo(AppointmentDTO, Class&lt;?&gt;, Type, Annotation[], MediaType, MultivaluedMap&lt;String, Object&gt;, OutputStream)</a></span> - Method in class org.apache.openmeetings.webservice.util.<a href="org/apache/openmeetings/webservice/util/AppointmentMessageBodyWriter.html" title="class in org.apache.openmeetings.webservice.util">AppointmentMessageBodyWriter</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/openmeetings/webservice/util/UserMessageBodyWriter.html#writeTo(org.apache.openmeetings.db.dto.user.UserDTO,java.lang.Class,java.lang.reflect.Type,java.lang.annotation.Annotation%5B%5D,javax.ws.rs.core.MediaType,javax.ws.rs.core.MultivaluedMap,java.io.OutputStream)">writeTo(UserDTO, Class&lt;?&gt;, Type, Annotation[], MediaType, MultivaluedMap&lt;String, Object&gt;, OutputStream)</a></span> - Method in class org.apache.openmeetings.webservice.util.<a href="org/apache/openmeetings/webservice/util/UserMessageBodyWriter.html" title="class in org.apache.openmeetings.webservice.util">UserMessageBodyWriter</a></dt>
<dd>&nbsp;</dd>
</dl>
<a href="#I:A">A</a>&nbsp;<a href="#I:B">B</a>&nbsp;<a href="#I:C">C</a>&nbsp;<a href="#I:D">D</a>&nbsp;<a href="#I:E">E</a>&nbsp;<a href="#I:F">F</a>&nbsp;<a href="#I:G">G</a>&nbsp;<a href="#I:H">H</a>&nbsp;<a href="#I:I">I</a>&nbsp;<a href="#I:J">J</a>&nbsp;<a href="#I:K">K</a>&nbsp;<a href="#I:L">L</a>&nbsp;<a href="#I:M">M</a>&nbsp;<a href="#I:N">N</a>&nbsp;<a href="#I:O">O</a>&nbsp;<a href="#I:P">P</a>&nbsp;<a href="#I:R">R</a>&nbsp;<a href="#I:S">S</a>&nbsp;<a href="#I:T">T</a>&nbsp;<a href="#I:U">U</a>&nbsp;<a href="#I:V">V</a>&nbsp;<a href="#I:W">W</a>&nbsp;<br><a href="allclasses-index.html">All&nbsp;Classes</a>&nbsp;<a href="allpackages-index.html">All&nbsp;Packages</a></div>
</main>
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="index.html">Overview</a></li>
<li>Package</li>
<li>Class</li>
<li>Use</li>
<li><a href="overview-tree.html">Tree</a></li>
<li><a href="deprecated-list.html">Deprecated</a></li>
<li class="navBarCell1Rev">Index</li>
<li><a href="help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="allclasses.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<a id="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
<p class="legalCopy"><small>Copyright &#169; 2012&#x2013;2022 <a href="https://apache.org">Apache Software Foundation</a>. All rights reserved.</small></p>
</footer>
</body>
</html>
