- my ($self, $git, $blob) = @_;
- my $mime = do_cat_mail($git, $blob) or return;
- my $mid = $mime->header_obj->header('Message-ID');
- eval { $self->remove_message($mid) } if defined $mid;
- warn "W: unindex_blob $blob: $@\n" if $@;
+ my ($self, $git, $mime) = @_;
+ my $mid = eval { mid_clean(mid_mime($mime)) };
+ $self->remove_message($mid) if defined $mid;
+}
+
+sub index_mm {
+ my ($self, $git, $mime) = @_;
+ $self->{mm}->mid_insert(mid_clean(mid_mime($mime)));
+}
+
+sub unindex_mm {
+ my ($self, $git, $mime) = @_;
+ $self->{mm}->mid_delete(mid_clean(mid_mime($mime)));
+}
+
+sub index_mm2 {
+ my ($self, $git, $mime, $bytes) = @_;
+ my $num = $self->{mm}->num_for(mid_clean(mid_mime($mime)));
+ index_blob($self, $git, $mime, $bytes, $num);
+}
+
+sub unindex_mm2 {
+ my ($self, $git, $mime) = @_;
+ $self->{mm}->mid_delete(mid_clean(mid_mime($mime)));
+ unindex_blob($self, $git, $mime);
+}
+
+sub index_both {
+ my ($self, $git, $mime, $bytes) = @_;
+ my $num = index_mm($self, $git, $mime);
+ index_blob($self, $git, $mime, $bytes, $num);
+}
+
+sub unindex_both {
+ my ($self, $git, $mime) = @_;
+ unindex_blob($self, $git, $mime);
+ unindex_mm($self, $git, $mime);