Komunikacja operatorów

Główna strona  Wstecz  Dalej

 

Celem wprowadzenia funkcji komunikacji operatorów jest umożliwienie przesyłania wiadomości pomiędzy stanowiskami klienckimi WinCN.

 

Operator korzystający z aplikacji WinCN5Client będzie mógł przesłać wiadomość do innego operatora, korzystającego aktualnie z innej instancji aplikacji Client.

Warunkiem skorzystania z tej funkcji jest, aby obie aplikacji były równocześnie podłączone do tego samego serwera WinCN.

Wiadomość będzie zawierała dowolny tekst wpisany przez operatora. Do wiadomości będzie można dołączyć identyfikator, określający czego dotyczy wiadomość. Do dyspozycji będą 3 typy identyfikatorów wskazujących na zdarzenie, obiekt lub własność elementu. Typ identyfikatora będzie zależny od okna, w którym wysyłanie wiadomości zostanie wywołane.

Każda wysłana wiadomość zapisywana będzie w pamięci programu. Operator będzie mógł otworzyć listę wysłanych wiadomości i ich status (wysłana, dostarczona, odczytana). Będzie mógł też zobaczyć listę odebranych wiadomości.

 

Po wybraniu polecenia ‘Wyślij wiadomość’ otworzy się okno wysyłania wiadomości. U góry okna będzie lista aktualnie podłączonych Client-ów. Trzeba będzie zaznaczyć jedną lub więcej pozycji. Poniżej będzie pole do wpisania tekstu. Pod tekstem będzie informacja o wybranym identyfikatorze. U dołu okna jest przycisk Wyślij. Po naciśnięciu Wyślij okno jest zamykane, a do serwera wysyłania jest komenda z wiadomością.

 

Wysyłanie wiadomości będzie dostępne w 4 oknach.

 

Stany serwisów

Po zaznaczeniu w tabeli pozycji z aplikacją Client, trzeba nacisnąć prawy przycisk myszy i w menu wybrać polecenie ‘Wyślij wiadomość’. W tym przypadku identyfikator będzie pusty. Na liście Client-ów zaznaczony zostanie Client wybrany w oknie Stany serwisów, ale ten wybór będzie można zmienić w oknie Wiadomości.

 

wyslij_wiadomosc_stany

 

Zdarzenia

Po zaznaczeniu zdarzenia w tabeli trzeba nacisnąć prawy przycisk myszy i w menu wybrać polecenie ‘Wyślij wiadomość’. Identyfikatorem będzie ID zdarzenia.

 

wyslij_wiadomosc_zdarzenia

 

 

Lista obiektów

Po zaznaczeniu obiektu w tabeli trzeba nacisnąć prawy przycisk myszy i w menu wybrać polecenie ‘Wyślij wiadomość’. Identyfikatorem będzie ID obiektu.

 

Stan obiektu

Po zaznaczeniu sygnału w tabeli trzeba nacisnąć prawy przycisk myszy i w menu wybrać polecenie ‘Wyślij wiadomość’. Identyfikatorem będzie ID własności elementu.

 

Odbieranie wiadomości

Wiadomość od innego operatora przesyłana jest przez serwer WinCN.

Aplikacja po odebraniu wiadomości otwiera okno, w którym wyświetla treść wiadomości. Równocześnie wysyła do serwera potwierdzenie odebrania wiadomości.

Pod treścią pokazane jest z jakiego stanowiska przyszła wiadomość.

 

wiadomosc_od_innego_operatora

 

Niżej wyświetlony jest identyfikator, który został przypisany do wiadomości.

Na dole jest przycisk, który pozwala przejść do okna zawierającego identyfikator.

Zamknięcie okna za pomocą ‘Zamknij’ lub ‘Przejdź do …’ lub [x] powoduje wysłanie do serwera potwierdzenie odczytania wiadomości.

 

 

Okno zdarzeń

Jeżeli identyfikatorem jest zdarzenie to na przycisku pojawi się ‘Przejdź do zdarzenia’. Po jego naciśnięciu otwarte zostanie okno Zdarzenia, a wiersz zawierający wskazane zdarzenie zostanie zaznaczony.

 

 

Lista obiektów

Jeżeli identyfikatorem jest obiekt to na przycisku pojawi się ‘Przejdź do listy obiektów. Po jego naciśnięciu otwarte zostanie okno Lista obiektów, a wiersz zawierający wskazany obiekt zostanie zaznaczony.

 

Stan obiektu

Jeżeli identyfikatorem jest sygnał to na przycisku pojawi się ‘Przejdź do stanu obiektu. Po jego naciśnięciu otwarte zostanie okno stanu obiektu, a wiersz zawierający wskazany sygnał zostanie zaznaczony.

 

Lista wiadomości

Operator będzie mógł otworzyć listę wiadomości. Będzie składać się z dwóch zakładek. Pierwsza zawiera listę wysłanych wiadomości. Druga listę odebranych wiadomości.

Listy wiadomości będą przechowywane w pamięci programu. Oznacza to, że po zamknięciu programu będą tracone.

Lista będzie zawierała nadawcę/odbiorcę oraz identyfikator. Według tych pól będzie można grupować wiadomości.

 

 

Okno wysyłania wiadomości

 

Okno zawiera typ identyfikatora: 0 – brak, 1 – zdarzenie, 2 – obiekt, 3 – sygnał. Jest on podawany podczas tworzenia okna przez obiekt wywołujący.

 

U góry okna znajduje się lista aktualnie podłączonych Client-ów WinCN. Listę należy pobrać z funkcji Stany serwisów. Na listę trafiają wszystkie moduły typu WinCN2Cli i Client. Przy każdej pozycji pole do zaznaczania.

 

Poniżej pole tekstowe do wpisania treści wiadomości.

 

Następnie etykieta z typem identyfikatora: Zdarzenie, Obiekt, Sygnał. Jest on zależy od typu identyfikatora podanego w wywołaniu. Jeżeli typ=0 to etykieta jest ukrywana.

 

Dalej pole tekstowe z opisem identyfikatora, pole do edycji. Jeżeli typ=0 to pole tekstowe jest ukrywane. Pole jest wypełniane tekstem opisu otrzymanym jako parametr podczas tworzenia okna.

U dołu okna przycisk Wyślij.

 

wyslij_wiadomosc_zdarzenia

 

Po naciśnięciu Wyślij sprawdzane jest czy chociaż jeden odbiorca jest zaznaczony. Jeżeli nie to pojawia się komunikat: Nie został wybrany odbiorca.

 

Potem sprawdzane jest czy wiadomość zawiera treść. Jeżeli pole tekstowe jest puste to pojawia się komunikat: Brak treści wiadomości.

 

Jeżeli pole tekstowe z opisem identyfikatora jest widoczne to sprawdzane jest czy zawiera treść. Jeżeli nie to pojawia się komunikat: Brak opisu zdarzenia/obiektu/sygnału (w zależności od typu).

 

Jeżeli wszystkie pola są poprawnie wypełnione to w WCF wywoływane jest polecenie SendClientMessage. Polecenie może być wywołane tylko, gdy wersja WCF serwera jest równa 11 lub wyższa. Polecenie wywoływane jest dla każdego odbiorcy z osobna.

 

Parametry polecenia to:

•        clientName - nazwa własna Client-a

•        typeOfClient – typ clienta -> Client (7)

•        message – wypełniony obiekt klasy ClientMessage

Wypełenienie obiektu message klasy ClientMessage:

•        Sender – nazwa własna Client-a

•        Receiver – nazwa odbiorcy wiadomości

•        Message – tekst z pola wiadomości

•        Type – typ identyfikatora: 0 – brak, 1 – zdarzenie, 2 – obiekt, 3 – sygnał

•        Id – identyfikator

•        Description – opis identyfikatora

W odpowiedzi serwer przesyła numer identyfikacyjny wiadomości. Numer jest zapamiętywany na liście wiadomości.

Po wysłaniu polecenia okno jest zamykane.

 

 

Stany serwisów

 

Do menu podręcznego trzeba dodać polecenie Wyślij wiadomość. Polecenie ma się pojawiać tylko, gdy zaznaczonym typem serwisu jest WinCN2Cli lub Client. W przypadku zaznaczenia kilku wierszy wszystkie z nich muszą być typu WinCN2Cli lub Client.

Po wywołaniu polecenia Wyślij wiadomość otwiera się okno wiadomości. Podczas wywołania podawany jest typ identyfikatora z wartością 0.

Jako parametr wywołania podawane są dodatkowo nazwy Client-ów, które były zaznaczone w tabeli serwisów. Nazwy, które zostały przekazane w wywołaniu zostają zaznaczone na liście w oknie wiadomości.

 

Zdarzenia

 

Do menu podręcznego trzeba dodać polecenie Wyślij wiadomość. Polecenie ma się pojawiać tylko, gdy zaznaczony jest jeden wiersz w tabeli.

Po wywołaniu polecenia Wyślij wiadomość otwiera się okno wiadomości. Podczas wywołania podawany jest typ identyfikatora z wartością 1, id zdarzenia oraz etykieta identyfikatora (etykieta zdarzenia).

 

Lista obiektów

 

Do menu podręcznego trzeba dodać polecenie Wyślij wiadomość. Polecenie ma się pojawiać tylko, gdy zaznaczony jest jeden wiersz w tabeli.

Po wywołaniu polecenia Wyślij wiadomość otwiera się okno wiadomości. Podczas wywołania podawany jest typ identyfikatora z wartością 2, id obiektu oraz etykieta identyfikatora (nazwa obiektu).

 

 

Stan obiektu

 

Do menu podręcznego trzeba dodać polecenie Wyślij wiadomość. Polecenie ma się pojawiać tylko, gdy zaznaczony jest jeden wiersz w tabeli.

 

Po wywołaniu polecenia Wyślij wiadomość otwiera się okno wiadomości. Podczas wywołania podawany jest typ identyfikatora z wartością 3, id sygnału (własności elementu) oraz etykieta identyfikatora (nazwa sygnału).

 

Lista wiadomości

 

Nowe okna służące do wyświetlania wysłanych i odebranych wiadomości. Na zakładce Narzędzia znajdzie się grupa Komunikacja operatorów. W tej grupie będą dwa przyciski: Wiadomości odebrane, Wiadomości wysłane. Oba otwierają to samo okno, ale uaktywniają inną zakładkę (odpowiednio Odebrane, Wysłane).

 

lista_wiadomosci

 

Utworzone będzie okno z wiadomościami. Będzie składać się z dwóch zakładek. Pierwsza zawiera listę odebranych wiadomości, a druga listę wysłanych wiadomości. Wiadomości pobierane są z pamięci programu.

 

 

a)        Odebrane

Wiadomości wyświetlane są w tabeli z kolumnami:

•        Nadawca wiadomości

•        Treść wiadomości

•        Opis identyfikatora

•        Data odebrania

Podwójne kliknięcie powoduje otwarcie okna wysłanej wiadomości. Wykorzystane ma być okno wysyłania wiadomości, ale wszystkie pola mają być zablokowane przed edycją, a przycisk Wyślij ma być ukryty.

 

b)        Wysłane

Wiadomości wyświetlane są w tabeli z kolumnami:

•        Odbiorca wiadomości

•        Treść wiadomości

•        Opis identyfikatora

•        Data wysłania

•        Status (wysłana, dostarczona, odczytana)

Podwójne kliknięcie powoduje otwarcie okna odebranej wiadomości.

 

 

Aktualizacja statusów

 

Po odebraniu NotifyClientMessageStatus odczytywany jest id wiadomości i status wiadomości. Obie wartości przekazywane są do listy wiadomości w celu aktualizacji statusów.

Status może przyjmować dwie wartości:

1 – dostarczona

2 – odczytana