videosite: add a general scheme for immutable connectors
authorRalf Ertzinger <ralf@skytale.net>
Wed, 7 Dec 2011 19:45:43 +0000 (20:45 +0100)
committerRalf Ertzinger <ralf@skytale.net>
Wed, 7 Dec 2011 19:45:43 +0000 (20:45 +0100)
videosite.pl

index d5917d4..d7a549f 100644 (file)
@@ -480,13 +480,13 @@ sub cmd_connector {
 
         $name = lc($name);
 
-        if ($name eq 'direct') {
-            write_irssi("Cannot remove direct connector");
+        unless (exists($connconf->{$name})) {
+            write_irssi("Connector does not exist");
             return;
         }
 
-        unless (exists($connconf->{$_})) {
-            write_irssi("Connector does not exist");
+        if (exists($connconf->{$name}->{'_immutable'})) {
+            write_irssi("Connector cannot be removed");
             return;
         }
 
@@ -510,8 +510,8 @@ sub cmd_connector {
 
         $conn = lc($conn);
 
-        if ($conn eq 'direct') {
-            write_irssi("Connector is not modifiable");
+        if (exists($connconf->{$conn}->{'_immutable'})) {
+            write_irssi("Connector cannot be modified");
             return;
         }
 
@@ -543,8 +543,8 @@ sub cmd_connector {
 
         $conn = lc($conn);
 
-        if ($conn eq 'direct') {
-            write_irssi("Connector is not modifiable");
+        if (exists($connconf->{$conn}->{'_immutable'})) {
+            write_irssi("Connector cannot be modified");
             return;
         }
 
@@ -682,6 +682,7 @@ sub init_videosite {
     unless (exists($conf->{'videosite'}->{'connectors'}->{'direct'})) {
         $conf->{'videosite'}->{'connectors'}->{'direct'} = {
                 'name' => 'direct',
+                '_immutable' => '1',
                 'schemas' => {},
         };
     }