| 113 | | static CHANNEL_SETUP_REC *channel_setup_read(CONFIG_NODE *node) |
| 114 | | { |
| 115 | | CHANNEL_SETUP_REC *rec; |
| 116 | | CHATNET_REC *chatnetrec; |
| 117 | | char *channel, *chatnet; |
| 118 | | |
| 119 | | g_return_val_if_fail(node != NULL, NULL);
|
| 120 | | |
| 121 | | channel = config_node_get_str(node, "name", NULL);
|
| 122 | | chatnet = config_node_get_str(node, "chatnet", NULL);
|
| 123 | | |
| 124 | | chatnetrec = chatnet == NULL ? NULL : chatnet_find(chatnet);
|
| 125 | | if (channel == NULL || chatnetrec == NULL) {
|
| 126 | | |
| 127 | | return NULL;
|
| 128 | | } |
| 129 | | |
| 130 | | rec = CHAT_PROTOCOL(chatnetrec)->create_channel_setup();
|
| 131 | | rec->type = module_get_uniq_id("CHANNEL SETUP", 0); |
| 132 | | rec->chat_type = CHAT_PROTOCOL(chatnetrec)->id;
|
| 133 | | rec->autojoin = config_node_get_bool(node, "autojoin", FALSE);
|
| 134 | | rec->name = g_strdup(channel); |
| 135 | | rec->chatnet = g_strdup(chatnetrec != NULL ? chatnetrec->name : chatnet);
|
| 136 | | rec->password = g_strdup(config_node_get_str(node, "password", NULL));
|
| 137 | | rec->botmasks = g_strdup(config_node_get_str(node, "botmasks", NULL));
|
| 138 | | rec->autosendcmd = g_strdup(config_node_get_str(node, "autosendcmd", NULL));
|
| 139 | | |
| 140 | | setupchannels = g_slist_append(setupchannels, rec); |
| 141 | | signal_emit("channel setup created", 2, rec, node); |
| 142 | | return rec; |
| 143 | | } |