Skip to content
Snippets Groups Projects
Commit fd47bd8d authored by Janne Mareike Koschinski's avatar Janne Mareike Koschinski
Browse files

Rewrote all Syncables and the structure of the libquassel Client object

Updated README and licenses.
parent 877077d8
No related branches found
No related tags found
No related merge requests found
Showing
with 266 additions and 138 deletions
......@@ -8,46 +8,40 @@
* This program is free software: you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the Free
* Software Foundation, either version 3 of the License, or (at your option)
* any later version, or under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either version 2.1 of
* the License, or (at your option) any later version.
* any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License and the
* GNU Lesser General Public License along with this program. If not, see
* <http://www.gnu.org/licenses/>.
* You should have received a copy of the GNU General Public License along
* with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package de.kuschku.libquassel.localtypes.backlogmanagers;
package de.kuschku.libquassel.localtypes.backlogstorage;
import android.support.annotation.IntRange;
import android.support.annotation.NonNull;
import java.util.List;
import de.kuschku.libquassel.Client;
import de.kuschku.libquassel.client.QClient;
import de.kuschku.libquassel.localtypes.backlogmanagers.BacklogFilter;
import de.kuschku.libquassel.message.Message;
import de.kuschku.libquassel.syncables.types.SyncableObject;
import de.kuschku.util.observables.lists.ObservableSortedList;
public abstract class BacklogManager<T extends BacklogManager<T>> extends SyncableObject<T> {
public abstract void requestBacklog(int bufferId, int from, int to, int count, int extra);
public abstract void receiveBacklog(int bufferId, int from, int to, int count, int extra, @NonNull List<Message> messages);
public abstract void displayMessage(int bufferId, @NonNull Message message);
public interface BacklogStorage {
@NonNull
ObservableSortedList<Message> getUnfiltered(@IntRange(from = 0) int bufferid);
public abstract ObservableSortedList<Message> get(@IntRange(from = -1) int bufferId);
@NonNull
ObservableSortedList<Message> getFiltered(@IntRange(from = 0) int bufferid);
public abstract ObservableSortedList<Message> getFiltered(@IntRange(from = -1) int bufferId);
@NonNull
BacklogFilter getFilter(@IntRange(from = 0) int bufferid);
public abstract BacklogFilter getFilter(@IntRange(from = -1) int bufferId);
void insertMessages(@IntRange(from = 0) int bufferId, Message... messages);
public abstract void requestMoreBacklog(int bufferId, int count);
void insertMessages(Message... messages);
public abstract void setClient(Client client);
void setClient(QClient client);
}
......@@ -8,126 +8,79 @@
* This program is free software: you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the Free
* Software Foundation, either version 3 of the License, or (at your option)
* any later version, or under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either version 2.1 of
* the License, or (at your option) any later version.
* any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License and the
* GNU Lesser General Public License along with this program. If not, see
* <http://www.gnu.org/licenses/>.
* You should have received a copy of the GNU General Public License along
* with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package de.kuschku.libquassel.localtypes.backlogmanagers;
package de.kuschku.libquassel.localtypes.backlogstorage;
import android.support.annotation.IntRange;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v7.widget.RecyclerView;
import android.util.SparseArray;
import com.google.common.collect.Lists;
import java.util.List;
import java.util.Map;
import de.kuschku.libquassel.BusProvider;
import de.kuschku.libquassel.Client;
import de.kuschku.libquassel.events.BacklogReceivedEvent;
import de.kuschku.libquassel.functions.types.InitDataFunction;
import de.kuschku.libquassel.functions.types.SyncFunction;
import de.kuschku.libquassel.client.QClient;
import de.kuschku.libquassel.localtypes.backlogmanagers.BacklogFilter;
import de.kuschku.libquassel.message.Message;
import de.kuschku.libquassel.primitives.types.QVariant;
import de.kuschku.util.observables.AutoScroller;
import de.kuschku.util.observables.callbacks.wrappers.AdapterUICallbackWrapper;
import de.kuschku.util.observables.lists.ObservableComparableSortedList;
import de.kuschku.util.observables.lists.ObservableSortedList;
import static de.kuschku.util.AndroidAssert.assertNotNull;
public class SimpleBacklogManager extends BacklogManager<SimpleBacklogManager> {
public class MemoryBacklogStorage implements BacklogStorage {
@NonNull
private final SparseArray<ObservableSortedList<Message>> backlogs = new SparseArray<>();
@NonNull
private final SparseArray<ObservableSortedList<Message>> filteredBacklogs = new SparseArray<>();
@NonNull
private final SparseArray<BacklogFilter> filters = new SparseArray<>();
@NonNull
private final BusProvider busProvider;
@Nullable
private Client client;
public SimpleBacklogManager(@NonNull BusProvider busProvider) {
this.busProvider = busProvider;
}
public void setClient(@Nullable Client client) {
this.client = client;
}
public void requestBacklog(int bufferId, int from, int to, int count, int extra) {
busProvider.dispatch(new SyncFunction<>("BacklogManager", "", "requestBacklog", Lists.<QVariant>newArrayList(
new QVariant<>("BufferId", bufferId),
new QVariant<>("MsgId", from),
new QVariant<>("MsgId", to),
new QVariant<>(count),
new QVariant<>(extra)
)));
}
public void receiveBacklog(@IntRange(from = 0) int bufferId, int from, int to, int count, int extra, @NonNull List<Message> messages) {
assertNotNull(client);
get(bufferId).addAll(messages);
client.getNotificationManager().receiveMessages(messages);
busProvider.sendEvent(new BacklogReceivedEvent(bufferId));
}
private QClient client;
@NonNull
@Override
public void displayMessage(@IntRange(from = 0) int bufferId, @NonNull Message message) {
assertNotNull(client);
ObservableSortedList<Message> messages = get(bufferId);
assertNotNull(messages);
messages.add(message);
client.getNotificationManager().receiveMessage(message);
public ObservableSortedList<Message> getUnfiltered(@IntRange(from = -1) int bufferid) {
ensureExisting(bufferid);
return backlogs.get(bufferid);
}
public void bind(@IntRange(from = 0) int bufferId, @NonNull RecyclerView.Adapter adapter, @Nullable AutoScroller scroller) {
ObservableSortedList<Message> messages = get(bufferId);
assertNotNull(messages);
messages.addCallback(new AdapterUICallbackWrapper(adapter, scroller));
@NonNull
@Override
public ObservableSortedList<Message> getFiltered(@IntRange(from = -1) int bufferid) {
ensureExisting(bufferid);
return filteredBacklogs.get(bufferid);
}
@NonNull
@Override
public void requestMoreBacklog(@IntRange(from = 0) int bufferId, int count) {
ObservableSortedList<Message> backlog = backlogs.get(bufferId);
int messageId = (backlog == null || backlog.last() == null) ? -1 : backlog.last().messageId;
requestBacklog(bufferId, -1, messageId, count, 0);
public BacklogFilter getFilter(int bufferid) {
ensureExisting(bufferid);
return filters.get(bufferid);
}
public ObservableSortedList<Message> get(@IntRange(from = -1) int bufferId) {
@Override
public void insertMessages(@IntRange(from = 0) int bufferId, @NonNull Message... messages) {
ensureExisting(bufferId);
return backlogs.get(bufferId);
for (Message message : messages)
backlogs.get(bufferId).add(message);
}
public ObservableSortedList<Message> getFiltered(@IntRange(from = -1) int bufferId) {
ensureExisting(bufferId);
return filteredBacklogs.get(bufferId);
@Override
public void insertMessages(@NonNull Message... messages) {
if (messages.length > 0) {
int bufferId = messages[0].bufferInfo.id();
insertMessages(bufferId, messages);
}
}
public BacklogFilter getFilter(@IntRange(from = -1) int bufferId) {
ensureExisting(bufferId);
return filters.get(bufferId);
public void setClient(QClient client) {
this.client = client;
}
private void ensureExisting(@IntRange(from = -1) int bufferId) {
......@@ -142,19 +95,4 @@ public class SimpleBacklogManager extends BacklogManager<SimpleBacklogManager> {
filters.put(bufferId, backlogFilter);
}
}
@Override
public void init(@NonNull InitDataFunction function, @NonNull BusProvider provider, @NonNull Client client) {
}
@Override
public void update(SimpleBacklogManager from) {
}
@Override
public void update(Map<String, QVariant> from) {
}
}
......@@ -8,21 +8,18 @@
* This program is free software: you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the Free
* Software Foundation, either version 3 of the License, or (at your option)
* any later version, or under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either version 2.1 of
* the License, or (at your option) any later version.
* any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License and the
* GNU Lesser General Public License along with this program. If not, see
* <http://www.gnu.org/licenses/>.
* You should have received a copy of the GNU General Public License along
* with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package de.kuschku.libquassel.localtypes;
package de.kuschku.libquassel.localtypes.buffers;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
......@@ -33,9 +30,13 @@ public interface Buffer {
@NonNull
BufferInfo getInfo();
void setInfo(@NonNull BufferInfo info);
@Nullable
String getName();
@NonNull
BufferInfo.BufferStatus getStatus();
void renameBuffer(@NonNull String newName);
}
......@@ -8,27 +8,24 @@
* This program is free software: you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the Free
* Software Foundation, either version 3 of the License, or (at your option)
* any later version, or under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either version 2.1 of
* the License, or (at your option) any later version.
* any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License and the
* GNU Lesser General Public License along with this program. If not, see
* <http://www.gnu.org/licenses/>.
* You should have received a copy of the GNU General Public License along
* with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package de.kuschku.libquassel.localtypes;
package de.kuschku.libquassel.localtypes.buffers;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import de.kuschku.libquassel.primitives.types.BufferInfo;
import de.kuschku.libquassel.syncables.types.Network;
import de.kuschku.libquassel.syncables.types.interfaces.QNetwork;
import static de.kuschku.util.AndroidAssert.assertNotNull;
......@@ -38,15 +35,15 @@ public class Buffers {
}
@Nullable
public static Buffer fromType(@NonNull BufferInfo info, @NonNull Network network) {
public static Buffer fromType(@NonNull BufferInfo info, @NonNull QNetwork network) {
Buffer result;
switch (info.type) {
switch (info.type()) {
case QUERY:
assertNotNull(info.name);
result = new QueryBuffer(info, network.getUser(info.name));
assertNotNull(info.name());
result = new QueryBuffer(info, network.ircUser(info.name()));
break;
case CHANNEL:
result = new ChannelBuffer(info, network.getChannels().get(info.name));
result = new ChannelBuffer(info, network.ircChannel(info.name()));
break;
case STATUS:
result = new StatusBuffer(info, network);
......@@ -54,7 +51,6 @@ public class Buffers {
default:
return null;
}
network.getBuffers().add(result);
return result;
}
}
......@@ -8,35 +8,32 @@
* This program is free software: you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the Free
* Software Foundation, either version 3 of the License, or (at your option)
* any later version, or under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either version 2.1 of
* the License, or (at your option) any later version.
* any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License and the
* GNU Lesser General Public License along with this program. If not, see
* <http://www.gnu.org/licenses/>.
* You should have received a copy of the GNU General Public License along
* with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package de.kuschku.libquassel.localtypes;
package de.kuschku.libquassel.localtypes.buffers;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import de.kuschku.libquassel.primitives.types.BufferInfo;
import de.kuschku.libquassel.syncables.types.IrcChannel;
import de.kuschku.libquassel.syncables.types.interfaces.QIrcChannel;
public class ChannelBuffer implements Buffer {
@NonNull
private final BufferInfo info;
private BufferInfo info;
@Nullable
private final IrcChannel channel;
private QIrcChannel channel;
public ChannelBuffer(@NonNull BufferInfo info, @Nullable IrcChannel channel) {
public ChannelBuffer(@NonNull BufferInfo info, @Nullable QIrcChannel channel) {
this.info = info;
this.channel = channel;
}
......@@ -47,10 +44,15 @@ public class ChannelBuffer implements Buffer {
return info;
}
@Override
public void setInfo(@NonNull BufferInfo info) {
this.info = info;
}
@Nullable
@Override
public String getName() {
return getInfo().name;
return getInfo().name();
}
@NonNull
......@@ -59,11 +61,20 @@ public class ChannelBuffer implements Buffer {
return channel == null ? BufferInfo.BufferStatus.OFFLINE : BufferInfo.BufferStatus.ONLINE;
}
@Override
public void renameBuffer(@NonNull String newName) {
}
@Nullable
public IrcChannel getChannel() {
public QIrcChannel getChannel() {
return channel;
}
public void setChannel(@Nullable QIrcChannel channel) {
this.channel = channel;
}
@NonNull
@Override
public String toString() {
......
......@@ -8,35 +8,32 @@
* This program is free software: you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the Free
* Software Foundation, either version 3 of the License, or (at your option)
* any later version, or under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either version 2.1 of
* the License, or (at your option) any later version.
* any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License and the
* GNU Lesser General Public License along with this program. If not, see
* <http://www.gnu.org/licenses/>.
* You should have received a copy of the GNU General Public License along
* with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package de.kuschku.libquassel.localtypes;
package de.kuschku.libquassel.localtypes.buffers;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import de.kuschku.libquassel.primitives.types.BufferInfo;
import de.kuschku.libquassel.syncables.types.IrcUser;
import de.kuschku.libquassel.syncables.types.interfaces.QIrcUser;
public class QueryBuffer implements Buffer {
@NonNull
private final BufferInfo info;
@Nullable
private final IrcUser user;
private final QIrcUser user;
@NonNull
private BufferInfo info;
public QueryBuffer(@NonNull BufferInfo info, @Nullable IrcUser user) {
public QueryBuffer(@NonNull BufferInfo info, @Nullable QIrcUser user) {
this.info = info;
this.user = user;
}
......@@ -47,10 +44,15 @@ public class QueryBuffer implements Buffer {
return info;
}
@Override
public void setInfo(@NonNull BufferInfo info) {
this.info = info;
}
@Nullable
@Override
public String getName() {
return getInfo().name;
return getInfo().name();
}
@NonNull
......@@ -61,8 +63,13 @@ public class QueryBuffer implements Buffer {
BufferInfo.BufferStatus.ONLINE;
}
@Override
public void renameBuffer(@NonNull String newName) {
}
@Nullable
public IrcUser getUser() {
public QIrcUser getUser() {
return user;
}
......
......@@ -8,35 +8,32 @@
* This program is free software: you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the Free
* Software Foundation, either version 3 of the License, or (at your option)
* any later version, or under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either version 2.1 of
* the License, or (at your option) any later version.
* any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License and the
* GNU Lesser General Public License along with this program. If not, see
* <http://www.gnu.org/licenses/>.
* You should have received a copy of the GNU General Public License along
* with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package de.kuschku.libquassel.localtypes;
package de.kuschku.libquassel.localtypes.buffers;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import de.kuschku.libquassel.primitives.types.BufferInfo;
import de.kuschku.libquassel.syncables.types.Network;
import de.kuschku.libquassel.syncables.types.interfaces.QNetwork;
public class StatusBuffer implements Buffer {
@NonNull
private final BufferInfo info;
private final QNetwork network;
@NonNull
private final Network network;
private BufferInfo info;
public StatusBuffer(@NonNull BufferInfo info, @NonNull Network network) {
public StatusBuffer(@NonNull BufferInfo info, @NonNull QNetwork network) {
this.info = info;
this.network = network;
}
......@@ -47,10 +44,15 @@ public class StatusBuffer implements Buffer {
return info;
}
@Override
public void setInfo(@NonNull BufferInfo info) {
this.info = info;
}
@Nullable
@Override
public String getName() {
return network.getNetworkName();
return network.networkName();
}
@NonNull
......@@ -59,6 +61,11 @@ public class StatusBuffer implements Buffer {
return network.isConnected() ? BufferInfo.BufferStatus.ONLINE : BufferInfo.BufferStatus.OFFLINE;
}
@Override
public void renameBuffer(@NonNull String newName) {
this.info.setName(newName);
}
@NonNull
@Override
public String toString() {
......
......@@ -8,18 +8,15 @@
* This program is free software: you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the Free
* Software Foundation, either version 3 of the License, or (at your option)
* any later version, or under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either version 2.1 of
* the License, or (at your option) any later version.
* any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License and the
* GNU Lesser General Public License along with this program. If not, see
* <http://www.gnu.org/licenses/>.
* You should have received a copy of the GNU General Public License along
* with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package de.kuschku.libquassel.message;
......
......@@ -8,18 +8,15 @@
* This program is free software: you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the Free
* Software Foundation, either version 3 of the License, or (at your option)
* any later version, or under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either version 2.1 of
* the License, or (at your option) any later version.
* any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License and the
* GNU Lesser General Public License along with this program. If not, see
* <http://www.gnu.org/licenses/>.
* You should have received a copy of the GNU General Public License along
* with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package de.kuschku.libquassel.objects;
......
......@@ -8,18 +8,15 @@
* This program is free software: you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the Free
* Software Foundation, either version 3 of the License, or (at your option)
* any later version, or under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either version 2.1 of
* the License, or (at your option) any later version.
* any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License and the
* GNU Lesser General Public License along with this program. If not, see
* <http://www.gnu.org/licenses/>.
* You should have received a copy of the GNU General Public License along
* with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package de.kuschku.libquassel.objects.serializers;
......
......@@ -8,18 +8,15 @@
* This program is free software: you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the Free
* Software Foundation, either version 3 of the License, or (at your option)
* any later version, or under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either version 2.1 of
* the License, or (at your option) any later version.
* any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License and the
* GNU Lesser General Public License along with this program. If not, see
* <http://www.gnu.org/licenses/>.
* You should have received a copy of the GNU General Public License along
* with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package de.kuschku.libquassel.objects.serializers;
......
......@@ -8,18 +8,15 @@
* This program is free software: you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the Free
* Software Foundation, either version 3 of the License, or (at your option)
* any later version, or under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either version 2.1 of
* the License, or (at your option) any later version.
* any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License and the
* GNU Lesser General Public License along with this program. If not, see
* <http://www.gnu.org/licenses/>.
* You should have received a copy of the GNU General Public License along
* with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package de.kuschku.libquassel.objects.serializers;
......
......@@ -8,18 +8,15 @@
* This program is free software: you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the Free
* Software Foundation, either version 3 of the License, or (at your option)
* any later version, or under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either version 2.1 of
* the License, or (at your option) any later version.
* any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License and the
* GNU Lesser General Public License along with this program. If not, see
* <http://www.gnu.org/licenses/>.
* You should have received a copy of the GNU General Public License along
* with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package de.kuschku.libquassel.objects.serializers;
......
......@@ -8,18 +8,15 @@
* This program is free software: you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the Free
* Software Foundation, either version 3 of the License, or (at your option)
* any later version, or under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either version 2.1 of
* the License, or (at your option) any later version.
* any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License and the
* GNU Lesser General Public License along with this program. If not, see
* <http://www.gnu.org/licenses/>.
* You should have received a copy of the GNU General Public License along
* with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package de.kuschku.libquassel.objects.serializers;
......
......@@ -8,18 +8,15 @@
* This program is free software: you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the Free
* Software Foundation, either version 3 of the License, or (at your option)
* any later version, or under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either version 2.1 of
* the License, or (at your option) any later version.
* any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License and the
* GNU Lesser General Public License along with this program. If not, see
* <http://www.gnu.org/licenses/>.
* You should have received a copy of the GNU General Public License along
* with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package de.kuschku.libquassel.objects.serializers;
......
......@@ -8,18 +8,15 @@
* This program is free software: you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the Free
* Software Foundation, either version 3 of the License, or (at your option)
* any later version, or under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either version 2.1 of
* the License, or (at your option) any later version.
* any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License and the
* GNU Lesser General Public License along with this program. If not, see
* <http://www.gnu.org/licenses/>.
* You should have received a copy of the GNU General Public License along
* with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package de.kuschku.libquassel.objects.serializers;
......
......@@ -8,18 +8,15 @@
* This program is free software: you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the Free
* Software Foundation, either version 3 of the License, or (at your option)
* any later version, or under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either version 2.1 of
* the License, or (at your option) any later version.
* any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License and the
* GNU Lesser General Public License along with this program. If not, see
* <http://www.gnu.org/licenses/>.
* You should have received a copy of the GNU General Public License along
* with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package de.kuschku.libquassel.objects.serializers;
......
......@@ -8,18 +8,15 @@
* This program is free software: you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the Free
* Software Foundation, either version 3 of the License, or (at your option)
* any later version, or under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either version 2.1 of
* the License, or (at your option) any later version.
* any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License and the
* GNU Lesser General Public License along with this program. If not, see
* <http://www.gnu.org/licenses/>.
* You should have received a copy of the GNU General Public License along
* with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package de.kuschku.libquassel.objects.serializers;
......
......@@ -8,18 +8,15 @@
* This program is free software: you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the Free
* Software Foundation, either version 3 of the License, or (at your option)
* any later version, or under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either version 2.1 of
* the License, or (at your option) any later version.
* any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License and the
* GNU Lesser General Public License along with this program. If not, see
* <http://www.gnu.org/licenses/>.
* You should have received a copy of the GNU General Public License along
* with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package de.kuschku.libquassel.objects.serializers;
......
......@@ -8,18 +8,15 @@
* This program is free software: you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the Free
* Software Foundation, either version 3 of the License, or (at your option)
* any later version, or under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either version 2.1 of
* the License, or (at your option) any later version.
* any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License and the
* GNU Lesser General Public License along with this program. If not, see
* <http://www.gnu.org/licenses/>.
* You should have received a copy of the GNU General Public License along
* with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package de.kuschku.libquassel.objects.serializers;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment