private static void dialogFunctions()
    {
        try{
            String projectName = null;

            String idToken = CollaborationTool.login("", "");
            if (idToken != null)
            {
                //Open projects list
                try {
                    List <ProjectType> prjList = CollaborationTool.getProjectList(idToken);
                    foreach (ProjectType prj in prjList)
                    {
                        if (prj.name.Equals("CAD1"))
                        {
                            projectName = prj.name;
                            break;
                        }
                    }
                } catch (Exception e) {
                    projectName = null;
                }
            }

            CollaborationTool.startCollaborate(idToken, projectName);

            // Setup done
            // ----------------------
            // Test message excange

            if (idToken == null)
            {
                return;
            }
            if (projectName == null)
            {
                return;
            }

            CollabMessageType msg = new CollabMessageType(projectName, "PROVA");
            msg.contents.Add("KEY1", "VAL1");
            msg.contents.Add("KEY2", "VAL2");
            msg.contents.Add("KEY3", "VAL3");
            SendMessageType msg_out = new SendMessageType(idToken, msg);
            CollaborationTool.sendMessage(msg_out);

            ReadMessageType msgReturn = CollaborationTool.readMessages(idToken, projectName);
            foreach (CollabMessageType m in msgReturn.messages)
            {
                Debug.Print(m.uniqueID + "-" + m.projectName + "-" + m.title);
            }
        } catch (Exception e) {
            logError(e);
        }
    }
 public static ReadMessageType readMessages(String token, String projectName)
 {
     try {
         ReadMessageType par      = new ReadMessageType(token, projectName);
         String          response = sendPostCommand("/readMessages", par.ToString());
         if (response != null)
         {
             ReadMessageType msgList = ReadMessageType.mapJson(response);
             return(msgList);
         }
         else
         {
             if (response.Equals(SubscriptionRequired.ERRCODE))
             {
                 throw new SubscriptionRequired();
             }
         }
     } catch (Exception ex) {
         logError(ex);
     }
     return(null);
 }