You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

128 lines
3.1 KiB

//
// JCGroupItem.h
// JCSDKOC
//
// Created by maikireton on 2017/8/15.
// Copyright © 2017年 juphoon. All rights reserved.
//
#import <Foundation/Foundation.h>
#import "JCGroupConstants.h"
/**
* @addtogroup
* @{
*/
/**
*
*/
@interface JCGroupItem : NSObject
/**
*
*/
@property (nonatomic, copy, readonly) NSString* groupId;
/**
*
*
* @note
*/
@property (nonatomic, copy, readonly) NSString* nickName;
/**
*
*
* @note
*/
@property (nonatomic, copy, readonly) NSString* tag;
/**
*
*/
@property (nonatomic, copy, readonly) NSString* name;
/**
*
* - true:
* - false:
*/
@property (nonatomic, readonly) bool dnd;
/**
*
* - @ref JCGroupTypeDiscussion :
* - @ref JCGroupTypeNormal :
*/
@property (nonatomic, readonly) JCGroupType type;
/**
*
*/
@property (nonatomic, readonly) NSDictionary<NSString*, NSObject*>* customProperties;
/**
*
* - @ref JCGroupChangeStateNone :
* - @ref JCGroupChangeStateAdd :
* - @ref JCGroupChangeStateUpdate :
* - @ref JCGroupChangeStateRemove :
* - @ref JCGroupChangeStateProperties :
*/
@property (nonatomic, readonly) JCGroupChangeState changeState;
/**
*
*/
//@property (nonatomic, readonly) long long updateTime;
/**
* JCGroupItem
* @param groupId
* @param nickName
* @param tag
* @param dnd
* - true:
* - false:
* @param changeState
* - @ref JCGroupChangeStateNone :
* - @ref JCGroupChangeStateAdd :
* - @ref JCGroupChangeStateUpdate :
* - @ref JCGroupChangeStateRemove :
* - @ref JCGroupChangeStateProperties :
* @return JCGroupItem
*/
-(instancetype)init:(NSString*)groupId nickName:(NSString*)nickName tag:(NSString*)tag dnd:(bool)dnd changeState:(JCGroupChangeState)changeState;
/**
* JCGroupItem
* @param groupId
* @param name
* @param type
* - @ref JCGroupTypeDiscussion :
* - @ref JCGroupTypeNormal :
* @param customProperties
* @return JCGroupItem
*/
-(instancetype)init:(NSString*)groupId name:(NSString*)name type:(JCGroupType)type customProperties:(NSDictionary<NSString*, NSObject*>*)customProperties;
/**
* JCGroupItem
* @param groupId
* @param changeState
* - @ref JCGroupChangeStateNone :
* - @ref JCGroupChangeStateAdd :
* - @ref JCGroupChangeStateUpdate :
* - @ref JCGroupChangeStateRemove :
* - @ref JCGroupChangeStateProperties :
* @return JCGroupItem
*/
-(instancetype)init:(NSString*)groupId changeState:(JCGroupChangeState)changeState;
@end
/**
* @}
*/